Guest - Fabio - Postado Junho 26, 2006 Denunciar Share Postado Junho 26, 2006 Quando rodo o codigo abaixo usando apenas NUMEROS nos campos, ele grava perfeitamente...a partir do momento que eu uso LETRAS ele dá o seguinte erro:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use nearvale salientar que todas as variaveis são definidas como STRINGS logo, tem o mesmo padrão...desde já agradeço a ajuda!----------------------------------------------------------------------------------------------------------------------------public manipulaConexao(Cliente cli) throws SQLException, IOException { String url = "jdbc:odbc:myBD"; String login = "root"; String senha = "123456"; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(url,login,senha); Statement stmt = con.createStatement(); am = "" + cli.getCodigo(); bm = cli.getNome(); cm = cli.getEndereco(); dm = "" + cli.getNumero(); em = cli.getBairro(); fm = cli.getCidade(); gm = "" + cli.getTelRes(); hm = "" + cli.getTelCel(); im = "" + cli.getRg(); jm = "" + cli.getCpf(); try { String buscaExistencia = "SELECT Codigo, CPF FROM Clientes"; ResultSet rs = stmt.executeQuery(buscaExistencia); int cont = 0; while (rs.next()) { String codBd = rs.getString("Codigo"); String cpfBd = rs.getString("CPF"); if (codBd.equalsIgnoreCase(am) || cpfBd.equalsIgnoreCase(jm)){ cont = cont + 1; } } if (cont > 0) { JOptionPane.showMessageDialog(null,"Cpf ou Código já cadastrado.","Erro",0); Cad_Cliente cc = new Cad_Cliente(); cc.dispose(); } else { System.out.println(am); System.out.println(bm); System.out.println(jm); System.out.println(hm); System.out.println(im); String SQL = "INSERT INTO Clientes (Codigo, Nome, Endereço, Numero, Bairro," + " Cidade, TelResidencial, TelCelular, RG, CPF) VALUES ("+ am + "," + bm + "," + cm + "," + dm + "," + em + "," + fm + "," + gm + "," + hm + "," + im + "," + jm + ")"; stmt.executeUpdate(SQL); } stmt.close(); con.close(); } catch (SQLException exSql){ System.out.println("Erro ao inserir dados"); exSql.getMessage(); exSql.printStackTrace(); } } catch(ClassNotFoundException e) { e.printStackTrace(); return; } catch(SQLException sql){ sql.printStackTrace(); } } Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Junho 26, 2006 Denunciar Share Postado Junho 26, 2006 não sei se vai funcionar ai, mas tenta usar aspas simples quando for texto, exemplo:'" + bm + "'vê se resolve Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Fabio -
Quando rodo o codigo abaixo usando apenas NUMEROS nos campos, ele grava perfeitamente...
a partir do momento que eu uso LETRAS ele dá o seguinte erro:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
vale salientar que todas as variaveis são definidas como STRINGS logo, tem o mesmo padrão...
desde já agradeço a ajuda!
----------------------------------------------------------------------------------------------------------------------------
public manipulaConexao(Cliente cli) throws SQLException, IOException {
String url = "jdbc:odbc:myBD";
String login = "root";
String senha = "123456";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url,login,senha);
Statement stmt = con.createStatement();
am = "" + cli.getCodigo();
bm = cli.getNome();
cm = cli.getEndereco();
dm = "" + cli.getNumero();
em = cli.getBairro();
fm = cli.getCidade();
gm = "" + cli.getTelRes();
hm = "" + cli.getTelCel();
im = "" + cli.getRg();
jm = "" + cli.getCpf();
try {
String buscaExistencia = "SELECT Codigo, CPF FROM Clientes";
ResultSet rs = stmt.executeQuery(buscaExistencia);
int cont = 0;
while (rs.next()) {
String codBd = rs.getString("Codigo");
String cpfBd = rs.getString("CPF");
if (codBd.equalsIgnoreCase(am) || cpfBd.equalsIgnoreCase(jm)){
cont = cont + 1;
}
}
if (cont > 0) {
JOptionPane.showMessageDialog(null,"Cpf ou Código já cadastrado.","Erro",0);
Cad_Cliente cc = new Cad_Cliente();
cc.dispose();
} else {
System.out.println(am);
System.out.println(bm);
System.out.println(jm);
System.out.println(hm);
System.out.println(im);
String SQL = "INSERT INTO Clientes (Codigo, Nome, Endereço, Numero, Bairro,"
+ " Cidade, TelResidencial, TelCelular, RG, CPF) VALUES ("+ am + "," + bm + ","
+ cm + "," + dm + "," + em + "," + fm + "," + gm + "," + hm + "," + im + "," + jm + ")";
stmt.executeUpdate(SQL);
}
stmt.close();
con.close();
} catch (SQLException exSql){
System.out.println("Erro ao inserir dados");
exSql.getMessage();
exSql.printStackTrace();
}
} catch(ClassNotFoundException e) {
e.printStackTrace();
return;
} catch(SQLException sql){
sql.printStackTrace();
}
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados