Fórum TsqlConection x TsqlQuery #8699
17/08/2009
0
begin
Close;
SQL.Clear;
SQL.Add( AsqlSql.fieldbyName('COMANDO').ASSTRING);
Open;
end;
Porem estou com o seguinte problema todo comando quando uso data o comando sql não funciona corretamente. Já tentei varias formas e não obtive sucesso, gostaria de resolver esta situação sem mudar para ADO. att.. Ricardo --AND DATA_VALIDADE >= (SELECT CONVERT(VARCHAR(11),GETDATE(),121)) SELECT
0 AS U_PKEY,
100 AS U_ORGVENDA,
P.COD_COND_PGTO AS S_CODPRAZO,
COD_LISTA AS S_CODTABELA,
1 AS U_PRECO_REFERENCIA,
50 AS D_VALOR_PEDIDO_MINIM,
CASE
WHEN ISNULL(PERC_JUROS,0) = 0 THEN 0
WHEN DIAS_PARC = 3 THEN 0
WHEN DIAS_PARC = 1 THEN 0
ELSE PERC_JUROS / 30 * (QTDE_PARCELA * DIAS_PARC)
END AS D_PERCENTUAL_AJUSTE,
DIAS_PARC AS U_DIASENTRADA,
QTDE_PARCELA AS U_NUMERO_PARCELA,
DIAS_PARC AS U_DDENTREPARCELA,
DIAS_PARC AS U_DDENTREPARCELARATEIO,
16 AS U_STATUS,
DESC_COND_PGTO AS S_DESCRICAO,
0 AS S_TABELA_AMARRACAO,
0 AS U_PERMISSAO_PRAZOS,
1 U_QTDE_MINIMA_ITENS,
0 U_PRAZO_MEDIO,
0 U_DIAS_MIN_ENTRE_PARC,
0 U_DIAS_MAX_ENTRE_PARC,
0 D_VALOR_PEDIDO_MAXIMO FROM TBCONDPGTO P
LEFT OUTER JOIN
(SELECT P1.COD_COND_PGTO, CASE WHEN ISNULL(P2.PRAZO,0) = 0 THEN P1.PRAZO ELSE ISNULL(P2.PRAZO,0) - P1.PRAZO END DIAS_PARC
FROM TBDESDOBRAPGTO P1
LEFT OUTER JOIN TBDESDOBRAPGTO P2
ON P1.COD_COND_PGTO = P2.COD_COND_PGTO
AND P2.NUM_PARCELA ='2'
WHERE P1.NUM_PARCELA ='1'
AND P1.COD_COND_PGTO LIKE('P%') ) DP
ON P.COD_COND_PGTO = DP.COD_COND_PGTO,
TBLISTAPRECO
WHERE CLASSE IN('V','A')
AND COD_LISTA < 300
AND P.COD_COND_PGTO LIKE('P%')
--AND DATA_VALIDADE >= (SELECT CONVERT(VARCHAR(11),GETDATE(),121)) --AND COD_LISTA ='1'
--SELECT * FROM TBCONDPGTO
--SELECT * FROM TBLISTAPRECO
--SELECT * FROM tbdesdobrapgto WHERE COD_COND_PGTO LIKE('P108%')
Frigorifico Sa
Curtir tópico
+ 0Posts
18/08/2009
Rodrigo Mourão
Bem vamos ver se eu entendi. Voce tem um banco SqlServer 2005 e nele vc tem uma tabela onde guarda comandos SQL. Então utilizando ADO você acessa está tabela e recupera um comando sql qualquer. Após isso vc passa essa instrução para um SqlQeury do DBX para então executá-las no banco, correto ?
Você cita que ocorre um erro na execução da instrução, acredito que seja na hora de executar a instrução no DBX. Neste caso minha sugestão é a seguinte:
Coloque um Break Point na linha onde vc passa o comando SQL:
with sqlDados do
begin
Close;
SQL.Clear;
SQL.Add( AsqlSql.fieldbyName('COMANDO').ASSTRING); <-- Break Point Aqui.
Open;
end;
Execute a aplicação e quando ele parar no Break point selecione com o Mouse a instrução AsqlSql.fieldbyName('COMANDO').ASSTRING e com ela selecionada pressione Crtl+F7. Isso vai fazer com que vc possa ver exatamente o que esta retornando do banco de dados e o que sera passado para o SQLQuery.
Copie este conteudo, remova possiveis #13#10 que possam aparecer e tente executar no banco de dados. Se o comando copiada executar dentro do banco então o comando esta correto, caso não funcione então começaremos a analisar o comando para ver se esta no padrão.
Ficarei no aguardo !!
Abs!
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Gostei + 0
23/08/2009
Rodrigo Mourão
A ajuda foi suficiente ? Podemos encerrar o chamado ?
Abs!!!
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Gostei + 0
24/08/2009
Frigorifico Sa
Gostei + 0
24/08/2009
Rodrigo Mourão
Abs !!!
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Gostei + 0
04/09/2009
Devmedia
por falta de retorno estamos encerrando o chamado. Caso ainda tenha dúvidas sobre o assunto aqui tratado, por favor, volte a postar aqui mesmo que o consultor voltará a lhe atender.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)