TSqlClientDataSet - parametros en RunTime
27/09/2004
0
Ola a todos
Preciso passar Tres parametros para o Componente TSQlClientDateSet da paleta DbExpress
em tempo de execução (RunTime).
O Meu CommandText dentro do componente é o seguinte:
[color=blue:8c10f67649]Select F. COD_FILME,
F.COD_CLASS,
F.DATA_COMPRA,
F.TITULO_FILME,
C.DESC_CLASS
From VW_FILMES F
Join Vw_Classificacao C on (C.Cod_CLass = F.Cod_Class) [/color:8c10f67649]
Agora passo os parametros dessa maneira (em RunTime):
[color=green:8c10f67649] With Sql_Filmes do
begin
Close;
CommandText:= sql;// Select informado acima no CommandText do Comp.
CommandText:= CommandText+ ´ Where F.COD_CLASS= ´+IntToStr(CodClass);
CommandText:= CommandText+ ´ and F.DATA_COMPRA Between (´+ TRIM(EdtDataAnt.Text) +´)´;
CommandText:= CommandText+ ´ and (´+ TRIM(EdtDataAtual.Text) + ´)´;
CommandText:= CommandText+ ´ Order by F.COD_FILME´ ;
Memo1.Text := CommandText;
Open;
end;[/color:8c10f67649]
Agora meu CommandText ficou assim :
[color=blue:8c10f67649]Select F. COD_FILME,
F.COD_CLASS,
F.DATA_COMPRA,
F.TITULO_FILME,
C.DESC_CLASS
From VW_FILMES F
Join Vw_Classificacao C on (C.Cod_CLass = F.Cod_Class)
Where F.COD_CLASS = 1 and F.DATA_COMPRA Between (27/08/2004) and (26/09/2004)
Order by F.COD_FILME[/color:8c10f67649]
Quando executo a aplicação ela me retorna o seguinte erro :
´ Conversion error from string ´0´ ´
Ja mudei os formatos de data para [color=red:8c10f67649]´yyyy/dd/mm´ [/color:8c10f67649]e [color=red:8c10f67649]´mm/dd/yyyy´ [/color:8c10f67649]e mesmo assim ocorre o erro
não sei mais o que fazer , se ajguem puder me ajudar agradeço desde já...
ou se vc souber como adicionar parametros em rumtime par o componente
muito obrigado
Preciso passar Tres parametros para o Componente TSQlClientDateSet da paleta DbExpress
em tempo de execução (RunTime).
O Meu CommandText dentro do componente é o seguinte:
[color=blue:8c10f67649]Select F. COD_FILME,
F.COD_CLASS,
F.DATA_COMPRA,
F.TITULO_FILME,
C.DESC_CLASS
From VW_FILMES F
Join Vw_Classificacao C on (C.Cod_CLass = F.Cod_Class) [/color:8c10f67649]
Agora passo os parametros dessa maneira (em RunTime):
[color=green:8c10f67649] With Sql_Filmes do
begin
Close;
CommandText:= sql;// Select informado acima no CommandText do Comp.
CommandText:= CommandText+ ´ Where F.COD_CLASS= ´+IntToStr(CodClass);
CommandText:= CommandText+ ´ and F.DATA_COMPRA Between (´+ TRIM(EdtDataAnt.Text) +´)´;
CommandText:= CommandText+ ´ and (´+ TRIM(EdtDataAtual.Text) + ´)´;
CommandText:= CommandText+ ´ Order by F.COD_FILME´ ;
Memo1.Text := CommandText;
Open;
end;[/color:8c10f67649]
Agora meu CommandText ficou assim :
[color=blue:8c10f67649]Select F. COD_FILME,
F.COD_CLASS,
F.DATA_COMPRA,
F.TITULO_FILME,
C.DESC_CLASS
From VW_FILMES F
Join Vw_Classificacao C on (C.Cod_CLass = F.Cod_Class)
Where F.COD_CLASS = 1 and F.DATA_COMPRA Between (27/08/2004) and (26/09/2004)
Order by F.COD_FILME[/color:8c10f67649]
Quando executo a aplicação ela me retorna o seguinte erro :
´ Conversion error from string ´0´ ´
Ja mudei os formatos de data para [color=red:8c10f67649]´yyyy/dd/mm´ [/color:8c10f67649]e [color=red:8c10f67649]´mm/dd/yyyy´ [/color:8c10f67649]e mesmo assim ocorre o erro
não sei mais o que fazer , se ajguem puder me ajudar agradeço desde já...
ou se vc souber como adicionar parametros em rumtime par o componente
muito obrigado
Alexrol
Curtir tópico
+ 0
Responder
Posts
27/09/2004
Rômulo Barros
Problema simples, amigo.. já passei muito por isso utilizando o Oracle.
A sua data deve estar entre aspas. Veja:
Select F. COD_FILME,
F.COD_CLASS,
F.DATA_COMPRA,
F.TITULO_FILME,
C.DESC_CLASS
From VW_FILMES F
Join Vw_Classificacao C on (C.Cod_CLass = F.Cod_Class)
Where F.COD_CLASS = 1 and [color=red:14583da9ef]F.DATA_COMPRA Between (´27/08/2004´) and (´26/09/2004´)[/color:14583da9ef]
Order by F.COD_FILME
Para isso, uso o comando QuoteDStr();
Segue o código correto:
With Sql_Filmes do
begin
Close;
CommandText:= sql;// Select informado acima no CommandText do Comp.
CommandText:= CommandText+ ´ Where F.COD_CLASS= ´+IntToStr(CodClass);
[color=red:14583da9ef]CommandText:= CommandText + ´ and F.DATA_COMPRA Between (´+ QuoteDStr(TRIM(EdtDataAnt.Text)) +´)´;
CommandText:= CommandText+ ´ and (´+ QuoteDStr(TRIM(EdtDataAtual.Text)) + ´)´; [/color:14583da9ef]
CommandText:= CommandText+ ´ Order by F.COD_FILME´ ;
Memo1.Text := CommandText;
Open;
end;
A sua data deve estar entre aspas. Veja:
Select F. COD_FILME,
F.COD_CLASS,
F.DATA_COMPRA,
F.TITULO_FILME,
C.DESC_CLASS
From VW_FILMES F
Join Vw_Classificacao C on (C.Cod_CLass = F.Cod_Class)
Where F.COD_CLASS = 1 and [color=red:14583da9ef]F.DATA_COMPRA Between (´27/08/2004´) and (´26/09/2004´)[/color:14583da9ef]
Order by F.COD_FILME
Para isso, uso o comando QuoteDStr();
Segue o código correto:
With Sql_Filmes do
begin
Close;
CommandText:= sql;// Select informado acima no CommandText do Comp.
CommandText:= CommandText+ ´ Where F.COD_CLASS= ´+IntToStr(CodClass);
[color=red:14583da9ef]CommandText:= CommandText + ´ and F.DATA_COMPRA Between (´+ QuoteDStr(TRIM(EdtDataAnt.Text)) +´)´;
CommandText:= CommandText+ ´ and (´+ QuoteDStr(TRIM(EdtDataAtual.Text)) + ´)´; [/color:14583da9ef]
CommandText:= CommandText+ ´ Order by F.COD_FILME´ ;
Memo1.Text := CommandText;
Open;
end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)