插入新行时数据集更新失败
我通过 DataAdapter1.Update() 方法将新行插入到数据集 dsStaff1 中。 我收到以下错误:
无法将 NULL 值插入 表“已启用”列 'dbo.tblStaff';列不允许 空值。插入失败。声明中有 已被终止。
我在 tblStaff 中有一个布尔字段“Enabled”,我想这是 SQL Server 中的关键字。它默认为“True”。我真的无法更改该字段的名称。有解决办法吗?或者我做错了什么? PS:我正在通过 sqlcommand 生成器生成插入、更新命令。
I am inserting a new row into a dataset dsStaff1 via DataAdapter1.Update() method.
I am getting the following error:
Cannot insert the value NULL into
column 'Enabled', table
'dbo.tblStaff'; column does not allow
nulls. INSERT fails. The statement has
been terminated.
I do have a boolean field 'Enabled' in tblStaff, which is keyword in SQL Server I suppose. It is defaulted to 'True'. I can't really change the name of the field. Is there a work around? OR am I doing something wrong?
PS: I am generating insert, update commands by an sqlcommand builder.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您有默认值,则 SQL 命令构建器必须发送 NULL (DBNull.Value) 来覆盖默认值。仅在以下情况下才应用默认值:
以下 2 种形式之一:
If you have a default, then your SQL Command builder must be sending NULL (DBNull.Value) to override the default. The default will apply only if:
One of these 2 forms:
只需在更新参数中将固定值传递给数据集,
例如
just pass a fixed value to the dataset in the update parameters
like
我的代码:.更新失败。
我还在 DataAdapter1 中使用
TableMappings更新和删除现有行效果很好。只是插入新行是行不通的。
My code:. It fails on Update.
Also I am using TableMappings in DataAdapter1
P.S. Updating and deleting an existing row works fine. It is just inserting a new row doesn't work.