解析查询时出现C#SQL Server CE错误

时间:2013-09-18 12:53:27

标签: c# parsing

我似乎无法在我的代码中找到错误。我用另一个代码复制粘贴它 只需更改表名和列名。

它指出错误:“int result = cma.ExecuteNonQuery();

public bool SaveCheckAmount(string id, int amount, string number, string bank)
{
  conn.Open();

  SqlCeCommand cma = new SqlCeCommand("INSERT INTO Check (transactionID,Amount,CheckNumber,Bank)VALUES(@id,@amount,@number,@bank)",conn);
  cma.Parameters.Add("@id",id);
  cma.Parameters.Add("@amount",amount);
  cma.Parameters.Add("@number",number);
  cma.Parameters.Add("@bank",bank);

  int result = cma.ExecuteNonQuery();

  if(result > 0)
  {
    conn.Close();
    return true;
  }
  else
  {
    conn.Close();
    return false;
  }
}

2 个答案:

答案 0 :(得分:3)

尝试将此更改为

SqlCeCommand cma = new SqlCeCommand("INSERT INTO [Check] (transactionID,Amount,CheckNumber,Bank) VALUES (@id,@amount,@number,@bank)",conn);

Check是T-SQL中的保留字。

有关完整列表,请参阅this page on MSDN

答案 1 :(得分:2)

Check是一个保留的SQL关键字,试试这个:

INSERT INTO [Check]