I am trying to parse dates to SQL but the command appears to ignore parameters:
private void updateTasksDGV(DateTime? start, DateTime? end)
{
if (start == null)
{
string query = "select * from CRS_Diary where cast(EndDate as date) <= convert(date,GETDATE()) and Complete = 0";
dgvTasks.DataSource = GetTable(query);
return;
}
try
{
using (SqlConnection connection = getSQlCon())
{
using (SqlCommand cmd = new SqlCommand(@"Select * from crs_diary where enddate between @Start and @End and complete = 0", connection))
{
MessageBox.Show("made it to conn " + start.ToString() + " - " + end.ToString());
cmd.CommandType = CommandType.Text;
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@Start";
parameter.SqlDbType = SqlDbType.DateTime;
parameter.Direction = ParameterDirection.Input;
parameter.Value = start;
SqlParameter parameter2 = new SqlParameter();
parameter2.ParameterName = "@End";
parameter2.SqlDbType = SqlDbType.DateTime;
parameter2.Direction = ParameterDirection.Input;
parameter2.Value = end;
cmd.Parameters.Add(parameter);
cmd.Parameters.Add(parameter2);
//cmd.Parameters.AddWithValue("@Start", SqlDbType.DateTime).Value = start.Value;
//cmd.Parameters.AddWithValue("@End", SqlDbType.DateTime).Value = end.Value;
connection.Open();
cmd.ExecuteNonQuery();
System.Windows.Forms.Clipboard.SetText(cmd.CommandText.ToString());
}
}
}
catch (System.Data.DataException ex)
{
MessageBox.Show(ex.Message);
}
}
I can make it pass parameters using commandtype stored procedure but that is not what I would like to do in this case. The output/DGV is doing not doing anything.