Meu SELECT tem mais de 255 caracteres, como resolver?
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á.
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
Curtidas 0
Respostas
Rjanuzzi
31/07/2003
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´);
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´);
GOSTEI 0
Almirdv
31/07/2003
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;
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;
GOSTEI 0
Ffabiop
31/07/2003
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.
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.
GOSTEI 0
Almirdv
31/07/2003
Perfeito ...deu certo
Valeu.....
Valeu.....
GOSTEI 0