sempre usei quotedstr, mas agora está diferente - não entendi

Delphi

Firebird

17/10/2019

Meu sistema operacional - win 7 Pro SP1
Delphi XE4
Banco: Firebird 2.5.3

Sempre usei quotedstr, mas agora está diferente - não entendi

dentro do delphi quero fazer:

select * from OS WHERE faturado<>'S'

ou seja, acima usando aspas simples para o Firebird aceitar

no codigo, sempre fiz assim:

waux1:='select * from OS where faturado<>' + quotedstr('S')

mas esta semana começou a dar problema - fui ver o waux1 e estava com o seguinte conteudo:

'select * from OS where faturado<>''S'''

tentei também fazer sem sucesso:

waux1:='select * from OS where faturado<>' + '''' + 'S' + ''''

e

waux1:='select * from OS where faturado<>' + '"' + 'S' + '"'

tentei também um stringreplace no waux1 para tentar mudar as aspas - sem sucesso

Não estou conseguindo colocar as aspas simples
Renato Seres

Renato Seres

Curtidas 0

Respostas

Renato Seres

Renato Seres

17/10/2019

Matei a charada

O quotedstr do Delphi sempre gerará resultado com ASPAS SIMPLES

Exemplo de uso:
quotedstr('S')

O PROBLEMA QUE ESTAVA ME CONFUNDINDO ERA O DEBUG - NO DEBUG ELE SEMPRE MOSTRA COM VARIAVEIS DUPLAS

Mais informacoes:
https://stackoverflow.com/questions/30166781/quotedstr-replacing-double-quote-in-delphi-2010?rq=1

--------------------------------
Meu post original:

Meu sistema operacional - win 7 Pro SP1
Delphi XE4
Banco: Firebird 2.5.3

Sempre usei quotedstr, mas agora está diferente - não entendi

dentro do delphi quero fazer:

select * from OS WHERE faturado<>'S'

ou seja, acima usando aspas simples para o Firebird aceitar

no codigo, sempre fiz assim:

waux1:='select * from OS where faturado<>' + quotedstr('S')

mas esta semana começou a dar problema - fui ver o waux1 e estava com o seguinte conteudo:

'select * from OS where faturado<>''S'''

tentei também fazer sem sucesso:

waux1:='select * from OS where faturado<>' + '''' + 'S' + ''''

e

waux1:='select * from OS where faturado<>' + '"' + 'S' + '"'

tentei também um stringreplace no waux1 para tentar mudar as aspas - sem sucesso

Não estou conseguindo colocar as aspas simples
GOSTEI 0
Claudio Andrade

Claudio Andrade

17/10/2019

Veja se funciona dessa forma
waux1 := Format('select * from OS where faturado <> %s', [quotedstr('S')]);


Meu sistema operacional - win 7 Pro SP1
Delphi XE4
Banco: Firebird 2.5.3

Sempre usei quotedstr, mas agora está diferente - não entendi

dentro do delphi quero fazer:

select * from OS WHERE faturado<>'S'

ou seja, acima usando aspas simples para o Firebird aceitar

no codigo, sempre fiz assim:

waux1:='select * from OS where faturado<>' + quotedstr('S')

mas esta semana começou a dar problema - fui ver o waux1 e estava com o seguinte conteudo:

'select * from OS where faturado<>''S'''

tentei também fazer sem sucesso:

waux1:='select * from OS where faturado<>' + '''' + 'S' + ''''

e

waux1:='select * from OS where faturado<>' + '"' + 'S' + '"'

tentei também um stringreplace no waux1 para tentar mudar as aspas - sem sucesso

Não estou conseguindo colocar as aspas simples
GOSTEI 0
POSTAR