Como fazer um select com aspa ´ simples no conteúdo do campo
Por exemplo [b:805d9ae0be]select * from clientes where CliNome = ´Mac Donald´s´[/b:805d9ae0be], vai retornar o erro ´Dynamic SQL Error SQL error code = -104 Unexpected end of command´, como resolver isso. Nomes como Mil´s, Mirna´s, Bob´s da problema
Mkoch
Curtidas 0
Respostas
Nightshade
01/02/2007
utiliza o QuotedStr(´String´);
ou #39 + ´String´ + 39
eu dou preferencia pra função QuotedStr(String)
[]´s
ou #39 + ´String´ + 39
eu dou preferencia pra função QuotedStr(String)
[]´s
GOSTEI 0
Mkoch
01/02/2007
Obrigado, mas, ou eu não estou entendendo você ou você não esta me entendendo o problema é os nomes que possuem apostrofo como [b:b73dcd5c26]mariu´s house[/b:b73dcd5c26], o apostrofo termina o comando e ai da o erro. Queria saber se existe uma técnica para resolver isso.
GOSTEI 0
Nightshade
01/02/2007
se vc esta utilizando caracteres ASCII na codificaçao do banco nao ocorrera erro algum...
uso esta funçao para substitur valores..
function Substitui(S: String;v1,v2: Char): String;
begin
result := StringReplace(S,v1,v2,[rfReplaceAll,rfIgnoreCase]);
end;
cara mas se vc esta pegando este cliente por exempli de um edit nao tem como dar erro..
IBQuery.SQL.Add(´Select * from Clientes Where Cliente=´ + QuotedStr(Edit.Text));
assim nao da erro..
se vc esta deixando as aspas fixas no codigo fonte dai sim tera q fazer
tipo: ´Habib´ + #32 + ´s´ pra concatenar com o apostrofe.
uso esta funçao para substitur valores..
function Substitui(S: String;v1,v2: Char): String;
begin
result := StringReplace(S,v1,v2,[rfReplaceAll,rfIgnoreCase]);
end;
cara mas se vc esta pegando este cliente por exempli de um edit nao tem como dar erro..
IBQuery.SQL.Add(´Select * from Clientes Where Cliente=´ + QuotedStr(Edit.Text));
assim nao da erro..
se vc esta deixando as aspas fixas no codigo fonte dai sim tera q fazer
tipo: ´Habib´ + #32 + ´s´ pra concatenar com o apostrofe.
GOSTEI 0
Mkoch
01/02/2007
Valeu esta ajudou legal, vou substituir o apostrofe por 2 apostrofes ai já resolve
GOSTEI 0