Я заполняю данные полями Date, TimeSlot, FullName и Availableablity из базы данных SQL.
У меня есть переменная private DateTime Sdate {get => dateTimePickerAppointment.Value;}
, принимающая значение даты из объекта dateTimePicker.
Когда я запускаю SqlCommand для получения данных из таблицы SQL, он работает нормально, пока я не введу дату со значением дня больше 12.
Если значение дня больше 12, я получаю исключение
System.Data.SqlClient.SqlException: 'Conversion failed when converting date and/or time from character string.'
Мне нужен совет, как решить эту проблему.
Я пытался использовать 'Convert' в операторе SQL SELECT для преобразования в дату и строку. Это не сработало.
Мой столбец даты в таблице SQL имеет тип: date
private DateTime Sdate {get => dateTimePickerAppointment.Value;}
case 6:
MessageBox.Show("Specific Date required ", appSearch.ToString("X"));
// define new SQL command cmdDB as new SQL Command (SELECT...........)
SqlCommand cmd6 = new SqlCommand("SELECT TOP(200)Date ,[TimeSlot],[FullName],[Availability] FROM [qryGPAppointmentsSchedule] WHERE Availability IS NULL and Date = '" + Sdate + "'", con);
try
{
//define a new SQL Data Adapter sda as a new SQL Data Adapter
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd6;// SQL Adapter selection = cmdDB
DataTable dtAvailable = new DataTable();// defined new data table
sda.Fill(dtAvailable);//SQL adapter is to fill dtAvailable
dataGridViewAppointmentsAvailable.DataSource = cmd6;
BindingSource aSource = new BindingSource();
aSource.DataSource = dtAvailable;
dataGridViewAppointmentsAvailable.DataSource = aSource;
//sda.Update(dtAvailable);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
break;