Fórum DATAS #66022
31/07/2007
0
Salve galera
Estou precisando fazer uma consulta entre duas datas como eu faria isso parametrizado com bdpcommand
a Sql seria assim
SELECT * FROM compras
WHERE DATA_C
BETWEEN ´2007/07/01´ AND ´2007/07/31´
Obrigado...
Estou precisando fazer uma consulta entre duas datas como eu faria isso parametrizado com bdpcommand
a Sql seria assim
SELECT * FROM compras
WHERE DATA_C
BETWEEN ´2007/07/01´ AND ´2007/07/31´
Obrigado...
M2_gibin
Curtir tópico
+ 0
Responder
Posts
31/07/2007
Pauloroger
1º - evite usar ´SELECT *´
Use ´SELECT CODIGO, DATA, COD_PRODUTO FROM COMPRAS´
BdpCommand, CommandText coloque:
SELECT CAMPO1, CAMPO2, DATA FROM COMPRAS
WHERE DATA >= @DATAINICIAL AND DATA <= @DATAFINAL
ORDER BY DATA
No parameters, coloque os dois parametros ADD
ParameterName=@DATAINICIAL
SourceColun=DATA
Type=DAte
ParameterName=@DATAFINAL
SourceColun=DATA
Type=Date
No seu botão coloque:
FbConnection1.Open;
try
FbCommand1.Parameters[´@DATAINICIAL´].Value := txtDATAI.Text;
FbCommand1.Parameters[´@DATAFINAL´].Value := txtDATAF.Text;
DataGrid1.DataSource := FbCommand1.ExecuteReader;
DataGrid1.DataBind;
finally
FbConnection1.Close;
end;
Use ´SELECT CODIGO, DATA, COD_PRODUTO FROM COMPRAS´
BdpCommand, CommandText coloque:
SELECT CAMPO1, CAMPO2, DATA FROM COMPRAS
WHERE DATA >= @DATAINICIAL AND DATA <= @DATAFINAL
ORDER BY DATA
No parameters, coloque os dois parametros ADD
ParameterName=@DATAINICIAL
SourceColun=DATA
Type=DAte
ParameterName=@DATAFINAL
SourceColun=DATA
Type=Date
No seu botão coloque:
FbConnection1.Open;
try
FbCommand1.Parameters[´@DATAINICIAL´].Value := txtDATAI.Text;
FbCommand1.Parameters[´@DATAFINAL´].Value := txtDATAF.Text;
DataGrid1.DataSource := FbCommand1.ExecuteReader;
DataGrid1.DataBind;
finally
FbConnection1.Close;
end;
Responder
Gostei + 0
31/07/2007
Knight_of_wine
A query fica SELECT * FROM COMPRAS WHERE DATA_C BETWEEN ? AND ?
Aí você vai na propriedade parâmetros do Object Inspector e clique no botão elipse (...).
Adicione o número de parâmetros necessários, nesse caso 2, clicando em adicionar, coloque a propriedade bdpType para DateTime, direction mantenha Input, SourceColumn coloque DATA_C e o ParameterName como você quiser.
Segue um código pra você testar se funciona.
Eu coloquei os nomes dos parâmetros como DT_INI e DT_FIM.
Aí com o BdpDataReader você pode popular um DataSet e manipular os dados que deseja.
Espero que isso te ajude.
Aí você vai na propriedade parâmetros do Object Inspector e clique no botão elipse (...).
Adicione o número de parâmetros necessários, nesse caso 2, clicando em adicionar, coloque a propriedade bdpType para DateTime, direction mantenha Input, SourceColumn coloque DATA_C e o ParameterName como você quiser.
Segue um código pra você testar se funciona.
Eu coloquei os nomes dos parâmetros como DT_INI e DT_FIM.
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs); var rd: BdpDataReader; begin TRY BdpConnection1.Open; BdpCommand1.Parameters[´DT_INI´].Value := Convert.ToDateTime(TextBox1.Text); BdpCommand1.Parameters[´DT_FIM´].Value := Convert.ToDateTime(TextBox2.Text); rd := BdpCommand1.ExecuteReader; if rd.Read then MessageBox.Show(´FUNCIONOU!´,´Teste´,MessageBoxButtons.OK,MessageBoxIcon.Information); FINALLY BdpConnection1.Close; END; end;
Aí com o BdpDataReader você pode popular um DataSet e manipular os dados que deseja.
Espero que isso te ajude.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)