Galera, boa noite!
Estou com uma dúvida, eu não sei se conseguirei explicar direito. No meu método Main eu faço a conexão com o banco de dados, checo se existe tabela ou não, chamo um form e no fim está a execução da query no banco de dados. Beleza.
Acontece que logo após chamar o form, já aparece um erro de execução do banco de dados! Segue abaixo a falha:
[color=red]“java.sql.SQLException: Can not issue empty query.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.StatementImpl.checkNullOrEmptyQuery(StatementImpl.java:528)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1748)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1730)
at br.com.learning.usuarios.TestaAula12.main(TestaAula12.java:54)”[/color]
Acredito que a falha é ocasionada por conta de eu executar a query com o parâmetro vazio. Porém o programa continua a execução!
Eis a dúvida, como eu faço pra executar essa query então? Não consigo definir onde eu encaixo o código!
Segue abaixo o que eu fiz, o método Main, e em anexo a estrutura do meu cadastro.
import java.sql.*;
import br.com.learning.negocios.Conexao;
import br.com.learning.negocios.CreateTableCursos;
public class TestaAula12 {
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
/* br.com.learning.negocios.Query qryMain = new br.com.learning.negocios.Query();
qryMain.criaConexao();
qryMain.criaTabela();*/
String qdb="";
String q="";
Conexao.getConnection();
System.out.println(Conexao.status);
Connection con = Conexao.getConnection();
Statement st = con.createStatement();
DatabaseMetaData dbm = con.getMetaData();
ResultSet tables = dbm.getTables(null, null, "cursos", null);
if (tables.next()) {
System.out.println("Tabela \"Cursos\" já existe!");
}
else {
CreateTableCursos ct = new CreateTableCursos();
qdb=ct.newTable(qdb);
try {
st.executeUpdate(qdb);
System.out.println("Tabela Cursos criada!");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Tabela Cursos já existe!");
}
}
Cadastro cad = new Cadastro();
cad.criarTela();
try {
st.executeUpdate(q);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Não sei se eu expliquei bem, caso não esteja claro me avisem que tentarei explicar de novo, estou patinando a dias e só falta conseguir utilizar o retorno da chamada com a query que eu quero para a execução do teste, no final do Main.
Obrigado!