我使用以下命令在MS Access数据库中插入记录:
OleDbCommand cmd = new OleDbCommand("insert into Table1 values('" + Name + "','" +
Symbol + "','" + D + "','" + Red + "','" + RedBuy + "','" + RedSell + "','" +
SBIntraBuy + "','" + SBTR1Buy + "','" + SBTR2Buy + "','" + SBTR3Buy + "','" +
SBIntraSell + "','" + SBTR1Sell + "','" + SBTR2Sell + "','" + SBTR3Sell + "','" + RSTL
+ "','" + Green + "');", con);
我想在Name之前添加一个名为CustomerId的列,其中包含一个主键。我不知道如何用主键插入它。我应该在主键的命令中添加什么?
如果有人能帮助我,我们将非常感激。
提前致谢。
检查this link是否有表格布局的截屏。
答案 0 :(得分:4)
如果您的密钥是自动递增,那么您不需要。数据库将为您完成。如果您的密钥不是自动增量,请考虑更改它。它真的很整洁!
另外,请考虑使用binding而不是构建完整的插入查询。
假设下表:
Table1 PK (auto_increment) Name Symbol
您想要做的是:
OleDbCommand cmd = new OleDbCommand("insert into Table1 (Name,Symbol) values (?,?)");
cmd.Parameters.Add(new OleDbParameter("@Name",Name));
cmd.Parameters.Add(new OleDbParameter("@Symbol",Symbol));
或(更安全):
OleDbCommand cmd = new OleDbCommand("insert into Table1 (Name,Symbol) values (@Name,@Symbol)");
cmd.Parameters.Add(new OleDbParameter("@Name",Name));
cmd.Parameters.Add(new OleDbParameter("@Symbol",Symbol));
最后:
cmd.ExecuteNonQuery();