Eaí pessoal... to com o problema e a solução deve ser mega-fácil... :(
É o seguinte...
PreparedStatementpnm=TesteBDApp.conn.prepareStatement("SELECT nome FROM teste WHERE cod ="+cd+"");ResultSetnm=pnm.executeQuery();//AvariávelcdnãointerferenoSelect...nãopracausaroerro...
com esse código estou colocando o resultado do select na variável nm, certo?
A variável nm é um Object, certo?
pra transformar em String é só usar o "nm.toString()", certo?
Porém quando faço isso aparece uma linha que não é o que eu esperava...
Estou tentando fazer isso pra colocar o valor desse Select num jTextField, mas o valor que aparece é um String maluco...
PreparedStatement pnm = TesteBDApp.conn.prepareStatement("SELECT nome FROM teste WHERE cod =?");
pnm.setString(1,cd);
ResultSet nm = pnm.executeQuery();
if(nm.next()){
String nome = nm.getString("nome");
...
}
Primeiro… passe os parâmetros no SQL com ? e depois preencha um a um com os valores corretos usando setString(), setInt(), etc. Desta forma você evitará problemas comuns de passagem de parâmetros nos SQLs. Este é o motivo porque PreparedStatements existem
Para pegar o valores como String você deve usar getString() e o nome da coluna como parâmetro, no caso “nome”.
[]'s
R
romulo00
Valeu a ajuda… :-o
se for o caso de eu querer utilizar mais de um parâmetro de compração no select eu uso duas interrogações??
PreparedStatement pnm = TesteBDApp.conn.prepareStatement("SELECT nome FROM teste WHERE cod = ? , ?");
pnm.setString(1,cd);
pnm.setString(2,cd2);
outra coisa que fiquei em dúvida é o .next()
Li a API mas não entendi muito bem…
Agradeço novamente a ajuda que me deram no inicio! :thumbup:
A
Adelar
romulo00:
Valeu a ajuda… :-o
se for o caso de eu querer utilizar mais de um parâmetro de compração no select eu uso duas interrogações??
PreparedStatement pnm = TesteBDApp.conn.prepareStatement("SELECT nome FROM teste WHERE cod = ? , ?");
pnm.setString(1,cd);
pnm.setString(2,cd2);
outra coisa que fiquei em dúvida é o .next()
Li a API mas não entendi muito bem…
Agradeço novamente a ajuda que me deram no inicio! :thumbup:
Olá,
cada interrogação é um valor passado para o SQL, assim ficaria:
PreparedStatement pnm = TesteBDApp.conn.prepareStatement("SELECT nome FROM teste WHERE cod = ? or cod = ?");
pnm.setString(1,cd);
pnm.setString(2,cd2);
O next() é usado para avançar para o próximo registro. Ele será falso só se não houver mais dado nenhum (se a SQL não retornar nada ou for o último registro).