尝试在C#中使用OLEDB执行SQL查询时出错

时间:2017-12-20 11:19:24

标签: c# sql oledb

当我尝试执行查询时,会发生错误:

  

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 个答案:

没有答案