1

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

它在以下位置声明错误:“ 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;
  }
}
4

2 回答 2

3

尝试将其更改为

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

Check是 T-SQL 中的保留字。

有关完整列表,请参阅MSDN 上的此页面。

于 2013-09-18T13:03:08.150 回答
2

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

INSERT INTO [Check]

于 2013-09-18T13:03:43.560 回答