0

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

在此处输入图像描述

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

在此处输入图像描述

  • 但是当行数变得更多时,比如 7 个中的 5 个,我无法编辑任何行,

我收到一个错误

更新或删除的行值要么不使行唯一,要么改变多行

在此处输入图像描述

我既没有提到唯一约束也没有提到非空约束。所有列都是数据类型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);
        }***
4

2 回答 2

2

Niranjan 您在表上添加主键是为了不造成完整性问题。

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

我建议你进行身份处理,但你可以调整你的主键,这只是额外的建议

于 2012-08-25T18:07:31.407 回答
1

使用它可以避免重复数据

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

使用主键创建 Id 列

IDENTITY(1,1) 属性自动增加每一行的 ID 列值。

于 2012-08-25T19:37:07.653 回答