Reputation: 65
when I want to retrieve date from access , I get an exception error "No Value given for one or more parameters" at cmd1.ExecuteReader. This is my code
void checking_fields()
{
OleDbCommand cmd = new OleDbCommand("select movie_id from event", oc);
OleDbDataReader ol = cmd.ExecuteReader();
OleDbCommand cmd1 = new OleDbCommand("select [open date],[close date] from event", oc);
OleDbDataReader ol1 = cmd1.ExecuteReader();
while (ol1.Read())
{
if (ol1.GetValue(0).ToString() == dateTimePicker1.Value.ToString("MM/dd/yyyy") ||
ol1.GetValue(1).ToString() == dateTimePicker2.Value.ToString("MM/dd/yyyy"))
goto abc;
}
ol.Read();
if (textBox1.Text.Equals(ol.GetString(0)))
label8.Text = "ID already exists";
else
{
insert_database();
clear();
this.Close();
}
abc: label8.Text = "Open date or Close date already assigned";
}
These are the properties of open date and close date
required:no, indexed:yes(no duplicates), ime_mode:no_control, text_align:center, show_date_picker:for_dates
since I am new to c#, please help me
Upvotes: 2
Views: 2190
Reputation: 216293
You don't have any parameters in your query.
This means that one or more of your field names
Open Date
or Close Date
didn't exist in your table event
Upvotes: 1
Reputation: 1478
Seems that you haven't opened the connection:
void checking_fields()
{
OleDbCommand cmd = new OleDbCommand("select movie_id from event", oc);
oc.open();
OleDbDataReader ol1 = cmd1.ExecuteReader();
while (ol1.Read())
{
if (ol1.GetValue(0).ToString() == dateTimePicker1.Value.ToString("MM/dd/yyyy") ||
ol1.GetValue(1).ToString() == dateTimePicker2.Value.ToString("MM/dd/yyyy"))
goto abc;
}
oc.close();
OleDbCommand cmd1 = new OleDbCommand("select [open date],[close date] from event", oc);
oc.open();
OleDbDataReader ol = cmd.ExecuteReader();
ol.Read(); // consider revising that section
if (textBox1.Text.Equals(ol.GetString(0)))
label8.Text = "ID already exists";
else
{
insert_database();
clear();
this.Close();
}
abc: label8.Text = "Open date or Close date already assigned";
}
And I made some modifications, I executed one reader ,closed it, before executing the second one.
Upvotes: 0