如何使用没有主键的数据库使用DataSet(C#和MySQL)进行更新

时间:2010-10-25 12:34:30

标签: c# mysql ado.net

我正在使用c#和MySQL处理Windows应用程序。 我通过将文本文件读入MySQL数据库插入新记录,数据库没有主键但是四列的组合我们可以将其视为主键的组件(但实际上数据库没有主键)。 我知道如何使用DataAdapter和DataSet添加和更新记录。但我无法更新没有主键的数据库中的记录。

请您指导我,如何使用没有主键的数据库更新数据库中的记录。

感谢。

2 个答案:

答案 0 :(得分:1)

假设你有下一张桌子:

column1,
column2,
..
columnN,
target -- column to update

然后使用:

UPDATE table
SET
   target = @target
WHERE
   column1 = @va1, column2 = @val, -- etc specify all columns in table

如果您有重复(绝对相等)的记录,您将更新所有记录。

答案 1 :(得分:1)

为了使用数据集,您需要定义更新命令“By-Hand”。

您需要设置正确的DataAdapter.UpdateCommand

在我看来,将一个主键列添加到表中是一种更好的方法。