Ошибка при попытке выполнить запрос 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);
}

У меня нет идей, откуда может возникнуть ошибка, у вас, ребята, есть предложения?

0 ответов

Другие вопросы по тегам