c# - 由于自动增量字段,无法使用 tableadapter.insert 方法插入数据

标签 c# database

我需要你的帮助,因为我无法在网络上的任何地方找到我的问题的答案。

我正在使用 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/

相关文章:

database - Oracle 10G 中的 Alter table - 虚拟列

c# - 尝试连接到 .sdf 数据库时出现异常

c# - 在哪里可以找到 Googles Code Prettify 的 csharp 加载器

c# - 如何使用 Lucene 对 Sitecore 中具有多个位置的文档进行地理空间搜索?

json - 使用 Codable Protocol 或外部工具进行 JSON 映射

mysql - 子表状态

c# - Unity 中 UI 的异步/等待样式

c# - 简单的 JavaScript 问题,在 IE 中返回 NULL,但在 FireFox 中工作!

database - Azure 在创建数据库时挂起

sql db2转换为宽格式