INSERT passar variável String

5 respostas
K

Uma dúvida simples, me ajudem por favor:

Tenho um array de Strings chamado s com três valores. Quero passar esses valores num INSERT via JDBC, conforme o exemplo abaixo…

stmt.executeUpdate(“INSERT INTO CLIENTES” +
“VALUES (s[0], s[1], s[2])
”);

O que está faltando? Tem que usar aspas?

Valeu!! Até mais!!

5 Respostas

B

Do jeito que vc fez o s[0] , s[1] e s[2] só é uma string, faça:

stmt.executeUpdate("INSERT INTO CLIENTES" +
"VALUES ("+s[0]+","+s[1]+","+s[2]+")";
M
"BrunoCarlo":
Do jeito que vc fez o s[0] , s[1] e s[2] só é uma string, faça:
stmt.executeUpdate("INSERT INTO CLIENTES" +
"VALUES ("+s[0]+","+s[1]+","+s[2]+")";
acho q falta ' ' entre as strings ....
"VALUES ('"+s[0]+"','"+s[1]+"','"+s[2]+"')";
K

Tentei dessa forma, compilou…

stmt.executeUpdate("INSERT INTO CLIENTES" + "VALUES ("+s[0]+","+s[1]+","+s[2]+")");

... mas ainda não funcionou!
 O que eu não entendo é que o valor de s[0] é literal, então deveria estar entre aspas simples, tentei isso, mas daí é pior ainda, pois a variável é tida como uma constante literal 's[0]' ...
 Socorro!!
B
"maluquo1":
"BrunoCarlo":
Do jeito que vc fez o s[0] , s[1] e s[2] só é uma string, faça:
stmt.executeUpdate("INSERT INTO CLIENTES" +
"VALUES ("+s[0]+","+s[1]+","+s[2]+")";
acho q falta ' ' entre as strings ....
"VALUES ('"+s[0]+"','"+s[1]+"','"+s[2]+"')";
É, acho que esqueci de colocar as aspas mesmo. Mas se não fucnionar assim tente:
String sql = "insert into clientes values (?,?,?)";
PreparedStatement stmt = con.preparedStatement(sql);
stmt.setString(1,s[0]);
stmt.setString(2,s[1]);
stmt.setString(3,s[2]);

int registros = stmt.executeUpdate();
K

Agora funcionou!!
Obrigado pela colaboração e até mais!!

Criado 17 de maio de 2005
Ultima resposta 19 de mai. de 2005
Respostas 5
Participantes 3