GARANTIR DESCONTO

Fórum Erro ao executar o SQL #514103

19/03/2015

0

Bom dia amigos,

Estou com um problema quando executa o SQL.

Abaixo o comando.

conectaSQL.execultaSql("SELECT \n" +
"USERDATA.NTEXT2 AS LINK \n" +
"FROM USERDATA \n" +
"WHERE \n" +
"NTEXT2 LIKE '%"+ codigo +"%' and\n" +
"NTEXT2 NOT LIKE '%.CFG%' AND \n" +
"NTEXT2 NOT LIKE '%.DFT%' AND \n" +
"NTEXT2 LIKE '%http://engfravi/lib/%' ORDER BY TP_MODIFIED DESC");


O método da classe conexão.

public void execultaSql(String sql){ //Método para update e consulta.
try {
stm = conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
rs = stm.executeQuery(sql);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro no ExecultaSQL \n Entrar em contato \n" + ex);
}
}

Quando coloco essa variável me retornar o erro: com.microsoft.sqlserver.jdbc.SQLServerException: O conjunto de resultados não tem linha atual.
Quando passo o valor fixo não apresenta o erro.
A variável sempre esta com valor.
João Françozo

João Françozo

Responder

Posts

19/03/2015

Ronaldo Lanhellas

Porque você não usa PreparedStatement ? É o mais ideal quando utilizamos parametrização nas queries.
Responder

Gostei + 0

19/03/2015

Thiago Santana

Verdade Ronaldo!
Grande liberdade para sql injection.
Responder

Gostei + 0

19/03/2015

João Françozo

Boa tarde Ronaldo,

Também já fiz o teste com o PreparedStatement e apresenta o mesmo erro.


Att
João Antonio
Responder

Gostei + 0

19/03/2015

Jothaz

Boa tarde Ronaldo,

Também já fiz o teste com o PreparedStatement e apresenta o mesmo erro.


Att
João Antonio


Acho que a primeira coisa é ter certeza que a expressão SQL roda.
Então jogue ela para um string imprima o conteúdo e tente executá-la no Management Studio, ai você terá certeza que a expressão esta ok.

Conselho a principio retire os \n.
Responder

Gostei + 0

19/03/2015

Ronaldo Lanhellas

Boa tarde Ronaldo,

Também já fiz o teste com o PreparedStatement e apresenta o mesmo erro.


Att
João Antonio


Tenta assim:

conectaSQL.execultaSql("SELECT \n" +
"USERDATA.NTEXT2 AS LINK \n" +
"FROM USERDATA \n" +
"WHERE \n" +
"NTEXT2 LIKE '%"+ codigo +"%' and\n" +
"NTEXT2 NOT LIKE '%.CFG%' AND \n" +
"NTEXT2 NOT LIKE '%.DFT%' AND \n" +
"NTEXT2 LIKE '% + "http://engfravi/lib/" + %' ORDER BY TP_MODIFIED DESC");


Imagino que "codigo" será uma variável declarada anteriormente.
Responder

Gostei + 0

19/03/2015

Ronaldo Lanhellas

Boa tarde Ronaldo,

Também já fiz o teste com o PreparedStatement e apresenta o mesmo erro.


Att
João Antonio


Tenta assim:

conectaSQL.execultaSql("SELECT \n" +
"USERDATA.NTEXT2 AS LINK \n" +
"FROM USERDATA \n" +
"WHERE \n" +
"NTEXT2 LIKE '%"+ codigo +"%' and\n" +
"NTEXT2 NOT LIKE '%.CFG%' AND \n" +
"NTEXT2 NOT LIKE '%.DFT%' AND \n" +
"NTEXT2 LIKE '% + "http://engfravi/lib/" + %' ORDER BY TP_MODIFIED DESC");


Imagino que "codigo" será uma variável declarada anteriormente.
Responder

Gostei + 0

19/03/2015

Thiago Santana

Remove esses "\n" não é um caracter legal a se utilizar em uma consulta SQL!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar