GARANTIR DESCONTO

Fórum Meu SELECT tem mais de 255 caracteres, como resolver? #172516

31/07/2003

0

Na instrução:

Query1.Sql.Add(SELECT...)
Query1.Sql.Add(FROM...)
Query1.Sql.Add(WHERE...) ..etc.

Meu Select possui + de 255 caracteres, como faço para quebrar o Select em vários Query1.Sql.Add?

Agradeço desde já.


Hermeson Menezes

Hermeson Menezes

Responder

Posts

31/07/2003

Rjanuzzi

Olá hemerson,

Vc pode ´quebrar´, aonde quiser, não tem problema. Exemplo:

query1.sql.add(´SELECT Tabela1.nome, Tabela1.codigo´);
query1.sql.add(´Tabela1.Data, Tabela2.Codigo´ FROM´);
query1.sql.add(´Tabela1,Tabela2´);


Responder

Gostei + 0

15/02/2008

Almirdv

se eu colocar o from desta forma (como está no exemplo) ele nao roda..
e se colocar desta forma ele não localiza o from
Alguem pode m ajudar
Agradeço desde já

ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(´select TIPO_ESTOQUES.CODIGO,
TIPO_ESTOQUES.NOME, TIPO_ESTOQUES.DESCRICAO,
TIPO_ESTOQUES.ATIVO ins034.OPERACAO,ins034.DESCRICAO as NOMEOPERACAO,ins034e.FINANCEIRO,ins034e.FISICO,
ins034e.CUSTO_MEDIO,ins034e.tipo_estoque ´);
ADOQuery2.SQL.Add(´ [size=18:949f0753e3]FROM[/size:949f0753e3] TIPO_ESTOQUES,ins034e,ins034 ´); ADOQuery2.SQL.Add(´TIPO_ESTOQUES.CODIGO = ins034e.TIPO_ESTOQUE and ins034.OPERACAO = ins034e.OPERACAO and ´);
ADOQuery2.SQL.Add(´where ins034e.tipo_estoque = :codigo ´);
ADOQuery2.SQL.Add(´order by Ins034e.Tipo_Estoque ´);
ADOQuery2.Parameters.ParamByName(´codigo´).Value := ftinteger;
ADOQuery2.ExecSQL;


Responder

Gostei + 0

15/02/2008

Ffabiop

Pode tentar passar a string do Sql dessa forma tb:

ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text := ´select TIPO_ESTOQUES.CODIGO, ´+
´TIPO_ESTOQUES.NOME, TIPO_ESTOQUES.DESCRICAO, ´+
´TIPO_ESTOQUES.ATIVO ins034.OPERACAO, ´+
´ins034.DESCRICAO as NOMEOPERACAO,ins034e.FINANCEIRO, ´+
´ins034e.FISICO, ins034e.CUSTO_MEDIO,ins034e.tipo_estoque ´+
´FROM TIPO_ESTOQUES,ins034e,ins034 ´+
´where ins034e.tipo_estoque = :codigo ´+
´and TIPO_ESTOQUES.CODIGO = ins034e.TIPO_ESTOQUE ´+
´and ins034.OPERACAO = ins034e.OPERACAO ´+
´order by Ins034e.Tipo_Estoque´;
ADOQuery2.Parameters.ParamByName(´codigo´).Value := ftinteger;
ADOQuery2.ExecSQL;

ah, no Sql original está fazendo comparações antes do where, o que não é suportado.


Responder

Gostei + 0

26/02/2008

Almirdv

Perfeito ...deu certo
Valeu.....


Responder

Gostei + 0

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

Aceitar