Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ispiriquidiberto

[Resolvido] Erro em SQL

Recommended Posts

Olá galera!

Seguinte... Estou tendo um problema ao utilizar uma TSQLQuery, criando uma SQL com parâmetros...

Utilizo o Firebird 2.1.3

 

Os códigos são os seguintes:

 

Q2.SQL.Add('DELETE FROM :tabela');
Q2.ParamByName('tabela').AsString := Trim(s);

 

Q2.SQL.Text := Format('DELETE FROM %s',[Trim(s)]);

 

Sendo que "s" é uma string contendo o nome de uma tabela.

No primeiro código, dá o seguinte erro:

"Project teste.exe raised exception class TDBXError with message 'Token unknown - line 1, column14 ?'"

 

Já no segundo, roda normal...

 

Alguém já passou por isso, ou sabe onde se encontra o erro???

 

 

 

Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não poder montar um comando sql onde o nome da tabela é um parametro. tem que ser feito assim como está sendo feito na segunda parte. O que ocorre é que ao passar da primeira forma o componente irá gerar o comando delete from 'minhatabela', pois é considerado um parametro do tipo texto.

 

falow

Olá galera!

Seguinte... Estou tendo um problema ao utilizar uma TSQLQuery, criando uma SQL com parâmetros...

Utilizo o Firebird 2.1.3

 

Os códigos são os seguintes:

 

Q2.SQL.Add('DELETE FROM :tabela');
Q2.ParamByName('tabela').AsString := Trim(s);

 

Q2.SQL.Text := Format('DELETE FROM %s',[Trim(s)]);

 

Sendo que "s" é uma string contendo o nome de uma tabela.

No primeiro código, dá o seguinte erro:

"Project teste.exe raised exception class TDBXError with message 'Token unknown - line 1, column14 ?'"

 

Já no segundo, roda normal...

 

Alguém já passou por isso, ou sabe onde se encontra o erro???

 

 

 

Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode cre...

Brigadão pela ajuda cara!!!

Valeu!!

 

Abraço!!!

 

Você não poder montar um comando sql onde o nome da tabela é um parametro. tem que ser feito assim como está sendo feito na segunda parte. O que ocorre é que ao passar da primeira forma o componente irá gerar o comando delete from 'minhatabela', pois é considerado um parametro do tipo texto.

 

falow

Olá galera!

Seguinte... Estou tendo um problema ao utilizar uma TSQLQuery, criando uma SQL com parâmetros...

Utilizo o Firebird 2.1.3

 

Os códigos são os seguintes:

 

Q2.SQL.Add('DELETE FROM :tabela');
Q2.ParamByName('tabela').AsString := Trim(s);

 

Q2.SQL.Text := Format('DELETE FROM %s',[Trim(s)]);

 

Sendo que "s" é uma string contendo o nome de uma tabela.

No primeiro código, dá o seguinte erro:

"Project teste.exe raised exception class TDBXError with message 'Token unknown - line 1, column14 ?'"

 

Já no segundo, roda normal...

 

Alguém já passou por isso, ou sabe onde se encontra o erro???

 

 

 

Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.