Ошибка при попытке выполнить запрос SQL с помощью OLEDB в C#
Когда я пытаюсь выполнить запрос, возникает ошибка:
System.Data.OleDb.OleDbException: синтаксическая ошибка (отсутствует оператор) в выражении запроса [Day]=? И [Компания]=? IF @@ROWCOUNT=0 INSERT INTO IsSent2([Day], [Company]) VALUES(?,?).
Код является:
try
{
string commandText = "UPDATE IsSent2 SET [Day]=?, [Company]=? WHERE [Day]=? AND [Company]=? IF @@ROWCOUNT=0 INSERT INTO IsSent2([Day], [Company]) VALUES(?,?)";
using (OleDbCommand cmd = new OleDbCommand(commandText, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@p1", "05Jun2017");
cmd.Parameters.AddWithValue("@p2", "Test123");
cmd.Parameters.AddWithValue("@p3", "05Jun2017");
cmd.Parameters.AddWithValue("@p4", "Company");
cmd.Parameters.AddWithValue("@p5", "05Jun2017");
cmd.Parameters.AddWithValue("@p6", "Company");
cmd.ExecuteNonQuery();
conn.Close();
}
}
catch (OleDbException oledbex)
{
Console.WriteLine(oledbex);
}
У меня нет идей, откуда может возникнуть ошибка, у вас, ребята, есть предложения?