Erro query SQLServer

2 respostas
J

bom dia,

tenho a seguinte query:

int ret = rn.exeQuery(“insert into identifica (logIde, senIde) values (’” + rn.devStr(login) + “’, '” + rn.devStr(senha) + “’)”);

  • está dando erro de sintaxe, sei por exempçlo, que no mysql não vai aspas simples ( ’ ), como seria uma query para SQLServer?

obrigado

2 Respostas

J

Não faça concatenações em querys SQL.

PreparedStatement stmt = conexao.prepareStatement("insert into identifica (logIde, senIde) values (?, ?)");

stmt.setString(1, login);
stmt.setString(2, senha);

stmt.executeUpdate();
J

Ok…

e para tratar os Strings? Estou usando isso:

public String devStr(String cmp){
    if(cmp != null){
        cmp = cmp.replace('\'', '´');            
        cmp = "'" + cmp.replace('\u0096', '-') + "'";
    }else
        cmp = "null";
    return cmp;
}

** O erro do primeiro post acontecia quando eu usava “obj.devStr(login)”, esse era o erro, porque quando eu somente passo a varialvel “login” sem usar o método “devStr(String cmp)” da certo…

agora só falta mesmo tratar a variavel para " ’ " e o pipe " | " (aquele maior)

obrigado

Criado 31 de maio de 2007
Ultima resposta 1 de jun. de 2007
Respostas 2
Participantes 2