Fórum Parametros para SQL #230475

06/05/2004

0

Boa tarde..
estou com problemas na passagem de parametros para a sql abaixo..

SELECT Cupomfiscal.Cupomfiscal, Cupomfiscal.Dtcupomfiscal,
Cupomfiscal.horaemissao, Cupomfiscal.kmanterior, Cupomfiscal.kmfinal,
Cupomfiscal.Codveiculo, Posto.NomePosto,Posto.Endereco, Produto.Descricao, Produto.Preco,
Condutor.Nome, Veiculo.Descricao, Veiculo.Placa,Veiculo.CodCombustivel,Itens.Qtdade
FROM ((Condutor INNER JOIN Cupomfiscal ON Condutor.CodCondutor = Cupomfiscal.Codcondutor)
INNER JOIN Veiculo ON Cupomfiscal.Codveiculo = Veiculo.CodVeiculo)
INNER JOIN (Itens INNER JOIN
(Posto INNER JOIN Produto ON Posto.CodPosto = Produto.CodPosto)
ON Itens.CodProduto = Produto.CodProd)
ON Cupomfiscal.Cupomfiscal = Itens.NumCupom
WHERE (((Cupomfiscal.Dtcupomfiscal) Between:DT1 And:DT2)
AND ((Veiculo.DESCRICAO)=:Veiculo))



estou passando os parametros assim

procedure TFrmRelVeiculo.btnimprimirClick(Sender: TObject);
VAR A:INTEGER;
CODVEICULO,D1,D2 : STRING;
begin
D1:= DATETOSTR(FRMRELVEICULO.DTINICIAL.DATE);
D2:= DATETOSTR(FRMRELVEICULO.DTFINAL.DATE);
DTMDB.QVeiculo.Close;
DTMDB.QVeiculo.SQL.Clear;
DTMDB.QVeiculo.ParamByName(´DT1´).ASSTRING:= D1;
DTMDB.QVeiculo.ParamByName(´DT2´).ASSTRING:= D2;
DTMDB.QVeiculo.ParamByName(´veiculo´).ASSTRING:= ´gol´;
DTMDB.QVeiculo.PREPARE;
DTMDB.QVeiculo.OPEN;

IF NOT ASSIGNED(FRMCONSUMOVEICULO) THEN
FRMCONSUMOVEICULO:=TFRMCONSUMOVEICULO.CREATE(APPLICATION);
FRMCONSUMOVEICULO.LBLINICIAL.Caption:= DATETOSTR(FRMGERAVEICULO.DTINICIAL.DATE);
FRMCONSUMOVEICULO.LBLFINAL.Caption:= DATETOSTR(FRMGERAVEICULO.DTFINAL.DATE);
FRMCONSUMOVEICULO.QuickRep1.Preview;


end;



Não sei o que estou fazendo errado...
obs: o campo data é mesmo do tipo string..
outro detalhe é que se ponho os parametros diretamente no objeto query
ele funciona..

:cry: :cry: :cry: :cry: :cry: :cry:


Eric.miranda

Eric.miranda

Responder

Posts

06/05/2004

Emerson Nascimento

[b:4a2d8965be][color=red:4a2d8965be]tire essa linha:[/color:4a2d8965be][/b:4a2d8965be]

[size=18:4a2d8965be][b:4a2d8965be]DTMDB.QVeiculo.SQL.Clear;[/b:4a2d8965be][/size:4a2d8965be]

essa linha está apagando toda a instrução SQL da query.


Responder

Gostei + 0

06/05/2004

Fabio.hc

D1:= DATETOSTR(FRMRELVEICULO.DTINICIAL.DATE);
D2:= DATETOSTR(FRMRELVEICULO.DTFINAL.DATE);
DTMDB.QVeiculo.Close;
[b:ba04911168]*DTMDB.QVeiculo.SQL.Clear;[/b:ba04911168]
DTMDB.QVeiculo.ParamByName(´DT1´).ASSTRING:= D1;
DTMDB.QVeiculo.ParamByName(´DT2´).ASSTRING:= D2;
DTMDB.QVeiculo.ParamByName(´veiculo´).ASSTRING:= ´gol´;
DTMDB.QVeiculo.PREPARE;
DTMDB.QVeiculo.OPEN;

* Remova este comando, q esta apagando a instrução sql.


Vc pode passar data:
DTMDB.QVeiculo.ParamByName(´DT1´).ASDATE:= FRMRELVEICULO.DTINICIAL.DATE;
DTMDB.QVeiculo.ParamByName(´DT2´).ASDATE:= FRMRELVEICULO.DTFINAL.DATE;


Responder

Gostei + 0

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

Aceitar