GARANTIR DESCONTO

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...


M2_gibin

M2_gibin

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;


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.

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

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

Aceitar