我需要你的帮助,因为我无法在网络上的任何地方找到我的问题的答案。
我正在使用 C#,我有一个名为“People”的表,我想使用一个 TableAdapter 来添加/删除该表/形成该表。我使用 sdf 文件作为我的数据库作为“Microsoft SQL Server Compact 4.0(.NET Framework Data Provider for Microsoft SQL Server Compact 4.0)”数据源。
我的代码是这样的:
*peopleTableAdapter.Insert(0, byte.Parse(cbAddType.SelectedIndex.ToString()), txtAddName.Text, txtAddCompany.Text, txtAddPhone.Text, txtAddMobile.Text, txtAddEmail.Text, txtAddAddress.Text, txtAddNotes.Text); peopleTableAdapter.Update(this.hisabati_DBDataSet.People);*
该表包含一个名为“ID”的字段,该字段是一个自增字段,其内容如下
属性: 允许空值:否 独特:是 PK:没有
Insert 方法中的第一个参数要求输入 ID,如果我不输入值,我将得到一个需要值的编译错误。如果我输入一个值(因为我在上面输入 0),我会收到以下错误: 错误消息:无法修改该列 错误的 HRESULT:-2147467259
我知道如何使用 Command.ExecuteNonQuery 方法进行插入,但我正在尝试在我的整个应用程序中使用 TableAdapter,因为它看起来是一种更优雅的编写和维护代码的方式...有什么建议吗? 非常感谢
最佳答案
您需要更改表适配器的 InsertCommand 和 UpdateCommand。从这些命令的设置部分中删除自动递增列名称和值。
关于c# - 由于自动增量字段,无法使用 tableadapter.insert 方法插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14047644/