Criar banco de dados

13 respostas
Luciano_Lopes

Pessoal,alguem sabe criar um banco de dados(FireBird de preferencia) em tempo de execução?Tipo,dar algumas informações sobre o nome do banco,diretório,Senha,Login,etc e depois cria-lo?Desde ja agradeço a ajuda,abraço

13 Respostas

THG_Carvalho

Exemplo de classe conexão.

import java.sql.*;

public class ConexaoFirebird {

	public static void main(String args[]) {

		String driver = "org.firebirdsql.jdbc.FBdriver";
		String url = "jdbc:firebirdsql:localhost/C:///";
		String usuario = "ThiagoCarvalho";
		String senha = "senha";
		Connection conexao;
		Statement statement;
		ResultSet resultSet = null;

		try {
			Class.forName(driver);
			conexao = DriverManager.getConnection(url, usuario, senha);
			statement = conexao.createStatement(resultSet.TYPE_SCROLL_SENSITIVE,
							resultSet.CONCUR_READ_ONLY);
			resultSet = statement.executeQuery("select * from xxxx");
		} catch (ClassNotFoundException e) {
			// Driver não localizado
		} catch (SQLException ex) {
			// Erro na conexão
		}
	}
}
Luciano_Lopes

Você não entendeu,eu não quero fazer uma conexão,quero criar um banco de dados

G

Você precisa de ajuda com SQL ou com JAVA?
se for SQL, este tutorial irá lhe ajudar: http://www.w3schools.com/sql/sql_create_db.asp

Se for Java, provavelmente você precisará de uma classe do tipo DAO, para disparar um statement contra a sua base e criar o banco.

A propósito, qual banco vc está usando?

Luciano_Lopes

Uso firebird,meu objetivo é criar um banco de dados e tabelas,tudo através do java

G

Ok. Mas o firebird é um cliente de e-mail.

qual a relação entre Firebird e JDBC?

Luciano_Lopes

g.calegari:
Ok. Mas o firebird é um cliente de e-mail.

qual a relação entre Firebird e JDBC?

FireBird é um banco de dados,você ja confundindo o nome com o “thunder bird”,esse sim é um cliente de e-mail :slight_smile:
Bom,voltanto ao assunto sabe como criar um banco atravez do java,pode ser um banco de dados em access mesmo,mas quero de preferencia fazer em firebird.

FernandoCartaxo

Faz assim… deve existir algum banco, conecta nele e executa o comando create database, criando assim um novo
caso não tenha um, só via console do proprio firebird

não sei se isso funcionaria no firebird, não tenho ele aqui agora pra testar, testa ai e informa

G

FernandoCartaxo:
Faz assim… deve existir algum banco, conecta nele e executa o comando create database, criando assim um novo
caso não tenha um, só via console do proprio firebird

não sei se isso funcionaria no firebird, não tenho ele aqui agora pra testar, testa ai e informa

Era mais ou menos isso que estava tentando dizer.

Luciano_Lopes

Galera,consegui fazer,tento só mais uma duvida…como faço para quando eu executar um código sql,um textearea exibir o resultado desse código?
exemplo: “select * from Tabela”,ai o texte area vai em mostrar todos os regitros que tem dentro da tabela,entendem?

hodrigohamalho

Calma, você não sabe como pega o retorno dos registros ou como setar os valores no textarea? ou os 2?

Luciano_Lopes

Os 2 :oops:

hodrigohamalho
// Esse é um método que vai te listar os dados de uma tabela que tenha 3 colunas do tipo String, double, String.
public StringBuffer listar(){
        StringBuffer listar = new StringBuffer();
    	con = Banco.conectar();
    	String sql = null;
 
    	try{
    		Statement stmt = con.createStatement();
    		try{
    			sql = "SELECT * FROM tabela";
    		}catch (Exception e) {
				System.out.println("Erro no query, causa: "+e.getMessage());
		}

    		ResultSet rs = stmt.executeQuery(sql);
    		while(rs.next()){    			
    			listar.append(rs.getString(1),rs.getDouble(2),rs.getString(3)+"\n");
    		}

    		stmt.close();
    		Banco.desconectar(con);

    	}catch (Exception e) {
    		System.out.println("Erro no Statement, causa: "+e.getMessage());
		}
       return listar;
    }

Caso não tenha uma classe que faça conexão com o Banco, veja essa para conexão Mysql:

import java.sql.*; 

public class Banco {
	private static String driver = "com.mysql.jdbc.Driver";
	   private static String url = "jdbc:mysql://localhost:3306/AP1";
	   private static String user = "root";
	   private static String pass = "";
	   
	   private static Connection con;
	   
	   public Banco(){
	    try{
	     Class.forName(driver);
	    }catch(ClassNotFoundException e){
	     System.out.println("Erro ao carregar o driver .. !");
	    }
	   }
	   
	   public static Connection conectar(){
	    try {
	   if (con == null || con.isClosed()){
	      con = DriverManager.getConnection(url,user,pass);
	     }
	  } catch (SQLException e) {
	   // TODO Auto-generated catch block
	   System.out.println("Erro ao conectar com o  banco");
	  }
	    
	    return con;
	   }
	   
	   public static void desconectar(Connection con){
	    try {
	   con.close();
	  } catch (SQLException e) {
	   // TODO Auto-generated catch block
	   System.out.println("Erro ao fechar conexão");
	  }
	   }
}
hodrigohamalho

e pra setar no textArea basta usar o método setText();

textArea.setText("Texto...");
//ou usando o listar do post anterior.
textArea.setText(listar.toString());

Espero ter ajudado, não compilei os códigos mas devem rodar…
abraço :lol:

Criado 13 de julho de 2009
Ultima resposta 15 de jul. de 2009
Respostas 13
Participantes 5