System.Data.OleDb.OleDbException: "Число содержит синтаксическую ошибку в выражении запроса '01.12.202'."
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\KursASS\Norm\KursAss\Television.mdb";
connection.Open();
OleDbCommand command1 = new OleDbCommand();
command1.Connection = connection;
command1.CommandText = $"INSERT INTO Телепрограммы (Код, Телеканал, Название_телепередачи, Тип, Жанр, Дата, Время_начала_передачи, Длительность_передачи, Время_окончания) Values (8, СТС, Негры_атакуют_40, Фильм, Трагедия, 01.12.2022, 22, 1, 23)";
command1.ExecuteNonQuery();
connection.Close();
}
Ответы (1 шт):
Автор решения: Sanse E6
→ Ссылка
В общем, проблема была в датах и оно решается если писать не так напрямую как я, а через AddWithValue что-то типа:
command1.CommandText = "INSERT INTO Телепрограммы (Телеканал, [Название телепередачи], Тип, Жанр, Дата, [Время начала передачи], [Длительность передачи], [Время окончания]) Values (@Телеканал, @Название_телепередачи, @Тип, @Жанр, @Дата, @Время_начала_передачи, @Длительность_передачи, @Время_окончания)";
command1.Parameters.AddWithValue("@Телеканал", comboBox1.SelectedIndex + 1);
command1.Parameters.AddWithValue("@Название_телепередачи", textBox2.Text);
command1.Parameters.AddWithValue("@Тип", textBox3.Text);
command1.Parameters.AddWithValue("@Жанр", textBox4.Text);
command1.Parameters.AddWithValue("@Дата", textBox5.Text);
command1.Parameters.AddWithValue("@Время_начала_передачи", textBox6.Text);
command1.Parameters.AddWithValue("@Длительность_передачи", textBox7.Text);
command1.Parameters.AddWithValue("@Время_окончания", textBox8.Text);