Hi!
I do make filter for one date for one column belonging to a database.
This is the code. Its works fine:
private void dataReservasviaturas_ValueChanged(object sender, EventArgs e)
{
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from personel where dataworkers like ('" + datetimeworker.Text + "%')";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dt);
conn.Close();
dataGridView1.DataSource = dt;
}
But I would like to learn how can I make filter between two dates using two datetimepickers.
Thanx.
VulpesPosted Nov 17, 2014, 8:43 AM
Am I right in thinking that the 'data' column in your Access database is of type DATE/TIME and not something else such as TEXT?
IsraelPosted Nov 17, 2014, 10:14 AM
IsraelPosted Nov 17, 2014, 7:54 AM
When this bug its happen. Its focusing here: cmd.ExecuteNonQuery();
VulpesPosted Nov 17, 2014, 7:38 AM
Can you re-post the code as you currently have it, please.
IsraelPosted Nov 17, 2014, 6:22 AM
when I do this:
if (param1.Value <= param2.Value)
Its says that Operator '<=' cannot be applied to operands of type 'object' and 'object'
then I change to this:
if (datainicialReservasviaturas.Value.Date <= datafinalReservasviaturas.Value.Date)
Then its says:
Não foi fornecido nenhum valor para um ou mais parâmetros necessários.
no value have been gave for one or more parameter necessary
VulpesPosted Nov 17, 2014, 5:55 AM
IsraelPosted Nov 17, 2014, 5:43 AM
VulpesPosted Nov 12, 2014, 1:59 PM
private void dataReservasviaturas_ValueChanged(object sender, EventArgs e)
{
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from personel where dataworkers between ? and ?";
var param1 = new OleDbParameter("@StartDate", OleDbType.Date);
var param2 = new OleDbParameter("@EndDate", OleDbType.Date);
param1.Value = dateTimePicker1.Value.Date;
param2.Value = dateTimePicker2.Value.Date;
if (dt1 <= dt2)
{
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
}
else
{
cmd.Parameters.Add(param2);
cmd.Parameters.Add(param1);
}
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dt);
conn.Close();
dataGridView1.DataSource = dt;
}
IsraelPosted Nov 12, 2014, 12:58 PM