繁体   English   中英

无法使用C#编辑SQL Server 2008数据库中的表

[英]Unable to edit tables in SQL Server 2008 database using C#

我正在c#中创建一个需要嵌入数据库的应用程序,并添加了一个Service based Database的新Service based Database 我将其添加到应用程序中,通过designer创建了一个表,并向其中添加了数据。 在这里,我开始遇到问题。 我能够添加新记录,但无法编辑任何行。 我注意到一个奇怪的行为。

在此处输入图片说明

  • 当行只有1或2时,我可以毫无问题地对其进行编辑。

在此处输入图片说明

  • 但是当行数增加时,例如7之5,我将无法编辑任何行,

我收到一个错误

更新或删除的行值不能使行唯一,或者它们会更改多行

在此处输入图片说明

我既没有提到唯一约束,也没有提到非null约束。 所有列均为text数据类型。 我不确定是什么原因导致了这个问题。 有人可以解释一下发生了什么吗?

PS:有时,我也会收到如屏幕快照2所示的错误。在这种情况下,当我单击Execute SQL ,就会插入数据。


***After using an Identity column, the issue is solved. Thanks a lot guys :) 

现在又出现另一个问题,我可以在设计器中进行编辑,但我也将dataGridView绑定到数据库,并且无法在其中编辑(更新)值,有任何建议吗? 这是代码,我正在使用

private void saveButton_Click(object sender, EventArgs e)
        {
                this.Validate();
                this.core3BindingSource.EndEdit();
                this.core3TableAdapter.Update(this.coreDataSet.Core3);
        }***

Niranjan您在表上添加了主键,以免造成完整性问题。

CREATE TABLE YourTable
(
   Id INT IDENTITY(1,1) PRIMARY KEY,
   .......
);

我建议您进行身份处理,但是您可以调整主键,这只是其他建议

使用这个可以避免重复数据

CREATE TABLE YourTable 
( 
   Id INT IDENTITY(1,1) PRIMARY KEY, 
     ....... 
); 

使用主键创建ID列

IDENTITY(1,1)属性会自动使每行的ID列值失效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM