当我尝试执行查询时,会发生错误:
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);
}
我不知道错误可能来自何处,你们有什么建议吗?