Estou usando um botão para excluir dados de uma tabela… Mas está acontecendo o seguinte:
Eu coloquei para excluir de acordo com uma ordem que uso para cadastrar, mas chegamos em 1 caso que as ordem estão repetindo e se eu for excluir uma ordem e ela estiver igual, está excluido os dados que utilizam a mesma ordem. Gostaria de saber como faço para concaternar essa ordem com um outro campo para que não possa excluir os dados com as mesmas ordens.
Segue a baixo minha string slq q estou utilizando para excluir e gostaria de saber como faço para adicionar os outros dados para que possa excluir com base nos 2 dados.
String sql = “delete from Cadastro_Testes where ORDEM=?”;
os dados que gostaria de adicionar são: TCPERFIL e TCTESTE
alguém poderia me ajudar? estou usando o netbeans.
Ao invés de usar o operador igual, use o operador in. Algo assim:
String sql = "delete from Cadastro_Testes where ORDEM in (?)";
Daí você pode passar quantos números de ordem quiser, separados por vírgula. Algo assim:
String params = "'TCPERFIL', 'TCTESTE'";
Abraço.
R
Rafaaw
no caso ficaria assim? String sql = “delete from Cadastro_Testes where ORDEM in (?),‘TCPERFIL’, ‘TCTESTE’”;
T
TerraSkilll
Não. Se você está usando preparedstatement, a interrogação será substituída pelos parâmetros. O comando final ficaria:
"delete from Cadastro_Testes where ORDEM in ('TCPERFIL', 'TCTESTE')";
Abraço.
R
Rodrigomarden
Acho que AND resolve seu problema também.
"delete from Cadastro_Testes where ORDEM=? AND TCPERFIL=? AND TCTESTE=?";
S
staroski1 like
No caso específico do operador IN, não dá pra usar PreparedStatement para setar os valores do conjunto como se fossem parâmetros posicionais.
Terá que montar a String com o operador IN contendo explicitamente os elementos do conjunto:
"delete from Cadastro_Testes where ORDEM in ('TCPERFIL', 'TCTESTE')"
T
TerraSkilll
Não sabia dessa, valeu o aviso.
Isso não funciona para o caso porque TCPERFIL e TCTESTE são valores da coluna ORDEM, não outras colunas da mesma tabela.