Parametros para SQL
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:
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
Curtidas 0
Respostas
Emerson Nascimento
06/05/2004
[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.
[size=18:4a2d8965be][b:4a2d8965be]DTMDB.QVeiculo.SQL.Clear;[/b:4a2d8965be][/size:4a2d8965be]
essa linha está apagando toda a instrução SQL da query.
GOSTEI 0
Fabio.hc
06/05/2004
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;
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;
GOSTEI 0