Marky.Vasconcelos 1 de mar. de 2010
Voce pode usar um método que recebe n parametros.
public void createTable ( ColumnDescription ..cols ) {
for ( ColumnDescription col : cols ) {
// Faz algo com esse objeto .
}
}
Supondo que voce tem uma classe dessas por exemplo.
guisantogui 1 de mar. de 2010
public class Tabelas {
public void criarTabelaDoProjeto(){
String criarTabela = "CREATE TABLE Gráfica (Cliente VARCHAR(80), Apelido VARCHAR(40), Endereço VARCHAR(110), Bairro VARCHAR ," +
"Cidade VARCHAR(50), CEP VARCHAR(20), Telefone VARCHAR(50), FAX VARCHAR(50), E-mail geral (100), HomePage (80)) ";
try
{
PreparedStatement prepstm = null;
Connection con = null;
prepstm = con.prepareStatement(criarTabela);
prepstm.execute();
}
catch (SQLException ex) {
Logger.getLogger(Tabelas.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Alguém poderia me dizer onde está o erro, está estourando uma NullPointerException nessa linha de codigo
prepstm = con.prepareStatement(criarTabela);
tiozao_bp 1 de mar. de 2010
“con.prepareStatement(criarTabela);”
você tem que obter a conexao de algum lugar.
veja como obter uma conexao algo do tipo
/*
** driverClass is the JDBC driver class name as a String .
*/
try
{
Class . forName ( driverClass );
connection = DriverManager . getConnection ( url ,
userName , password );
connection . setAutoCommit ( false );
}
catch ( SQLException ex )
{
/*
** "Connect error" ...
*/
}
catch ( java . lang . ClassNotFoundException ex )
{
/*
** "Driver error" ...
*/
}
guisantogui 1 de mar. de 2010
eh q eu fiz a conecção em outra classe e queria fazer apenas a criação da tabela nessa classe, sabe deixar mais organizado!
guisantogui 1 de mar. de 2010
alguem saberia me dizer como posso fazer pra deixar assim (post acima)
vlw!
Trebloc 1 de mar. de 2010
Um dos modos que encontrei de resolver isso é utilizando uma classe assim:
public class ConnectionUtil
{
// construtor privador
private ConnectionUtil ()
{
}
// tenta abrir a conexão
public static void connect ( String url , String username , String password , String driver ) throws SQLException , ClassNotFoundException
{
Class . forName ( driver );
conn = DriverManager . getConnection ( url , username , password );
}
// tenta fechar a conexão
public static void close () throws SQLException
{
conn . close ();
}
// prepara um Statement
public static PreparedStatement prepareStatement ( String sql ) throws SQLException
{
return conn . prepareStatement ( sql );
}
// a conexão
private static Connection conn ;
}
Seria um modo correto?