Não consigo entender porque não Funciona a Consulta...
procedure TFrmPrincipal.DBGridCostCellClick(Column: TColumn);
var
Dia : TDate;
CostCod, MaqCod, Integer, HoraIni, HoraFin : String;
begin
begin
HoraFin := TimeToStr(Now);
Dia := Now;
CostCod := DBGridCost.Columns[1].Field.AsString;
MaqCod := DBGridCost.Columns[2].Field.AsString;
begin
DmDados.Config.Open;
HoraIni := DmDados.ConfigIniTurnoManha.AsString;
DmDados.Config.Close;
end;
end;
begin
With DmDados.QryPsqCostureiras do
begin
SQL.Clear;
Close;
SQL.Text := ´SELECT tbproclote.CodMaq, tabmaquina.NmMaq, tbcost.CodCost, tbcost.NmCost, Data, Hora ´+
´FROM tbproclote, tbcostlote, tblote ´+
´LEFT JOIN tabmaquina ON tabmaquina.CodMaq = tbproclote.CodMaq ´+
´LEFT JOIN tbcost on tbcost.CodCost = tbcostlote.CodCost ´+
´WHERE ´+
´(tbproclote.CodMaq Like:MaqCod) AND ´+
´(tbcostlote.CodCost Like:CostCod) AND ´+
´(tblote.CodLote Like:LoteCod) AND ´+
´(Data Like:Dia) AND ´+
´(Hora BETWEEN :HoraInicio AND :HoraFinal)´;
ParamByName(´MaqCod´).AsString := MaqCod;
ParamByName(´CostCod´).AsString := CostCod;
ParamByName(´LoteCod´).AsString := DBEdit1.Text;
ParamByName(´Dia´).AsDate := Dia;
ParamByName(´HoraInicio´).AsString := HoraIni;
[color=red:3324794747]ParamByName(´HoraFinal´).AsString := HoraFin;[/color:3324794747]
Open;
end;
end;
end;
end.
O problema é o seguinte... a última linha dos parâmetros para a Query...
ParamByName(´HoraFinal´).AsString := HoraFin;
Se eu atribuir um valor, funciona... as eu preciso capturar a hora do mícro...
[color=red:3324794747] ParamByName(´HoraFinal´).AsString := ´08:15:00´;[/color:3324794747]
var
Dia : TDate;
CostCod, MaqCod, Integer, HoraIni, HoraFin : String;
begin
begin
HoraFin := TimeToStr(Now);
Dia := Now;
CostCod := DBGridCost.Columns[1].Field.AsString;
MaqCod := DBGridCost.Columns[2].Field.AsString;
begin
DmDados.Config.Open;
HoraIni := DmDados.ConfigIniTurnoManha.AsString;
DmDados.Config.Close;
end;
end;
begin
With DmDados.QryPsqCostureiras do
begin
SQL.Clear;
Close;
SQL.Text := ´SELECT tbproclote.CodMaq, tabmaquina.NmMaq, tbcost.CodCost, tbcost.NmCost, Data, Hora ´+
´FROM tbproclote, tbcostlote, tblote ´+
´LEFT JOIN tabmaquina ON tabmaquina.CodMaq = tbproclote.CodMaq ´+
´LEFT JOIN tbcost on tbcost.CodCost = tbcostlote.CodCost ´+
´WHERE ´+
´(tbproclote.CodMaq Like:MaqCod) AND ´+
´(tbcostlote.CodCost Like:CostCod) AND ´+
´(tblote.CodLote Like:LoteCod) AND ´+
´(Data Like:Dia) AND ´+
´(Hora BETWEEN :HoraInicio AND :HoraFinal)´;
ParamByName(´MaqCod´).AsString := MaqCod;
ParamByName(´CostCod´).AsString := CostCod;
ParamByName(´LoteCod´).AsString := DBEdit1.Text;
ParamByName(´Dia´).AsDate := Dia;
ParamByName(´HoraInicio´).AsString := HoraIni;
[color=red:3324794747]ParamByName(´HoraFinal´).AsString := HoraFin;[/color:3324794747]
Open;
end;
end;
end;
end.
O problema é o seguinte... a última linha dos parâmetros para a Query...
ParamByName(´HoraFinal´).AsString := HoraFin;
Se eu atribuir um valor, funciona... as eu preciso capturar a hora do mícro...
[color=red:3324794747] ParamByName(´HoraFinal´).AsString := ´08:15:00´;[/color:3324794747]
Adelor Silva
Curtidas 0
Respostas
Welgomes
28/09/2006
Nas minhas consultas eu faço da seguinte maneira:
Exemplo:
ibSqlJogando.ParamByName(´DATA_INICIO_SESSAO´).AsDate := Date;
Note que uso a propriedade AsDate e não AsString.
Outra coisa. Você deve passar o time completo Data + tempo. E não somente o tempo para a variável ou parâmetro. Caso contrário ele interpretará a data como:
12/30/1899
ou seja, se vc passar como parâmetro apenas 22:00. Será interpretado como:
12/30/1899 22:00
Exemplo:
ibSqlJogando.ParamByName(´DATA_INICIO_SESSAO´).AsDate := Date;
Note que uso a propriedade AsDate e não AsString.
Outra coisa. Você deve passar o time completo Data + tempo. E não somente o tempo para a variável ou parâmetro. Caso contrário ele interpretará a data como:
12/30/1899
ou seja, se vc passar como parâmetro apenas 22:00. Será interpretado como:
12/30/1899 22:00
GOSTEI 0
Adelor Silva
28/09/2006
Obrigado pela dica... vou dar uma analizada... talvez seja isso que esta acontecendo... muito obrigado... valew!!!
GOSTEI 0