gpt4 book ai didi

c# - MySqlDataAdapter UpdateCommand 无法识别主键

转载 作者:行者123 更新时间:2023-11-29 11:36:07 25 4
gpt4 key购买 nike

我正在使用临时表在 datagridview 中显示数据。当编辑 datagridview 中的数据时,我试图更新临时表。这是我用来执行此操作的 dataGridView1_RowValidated 方法内的代码:

MySqlDataAdapter adapter = new MySqlDataAdapter("select * from     all_plants_temp", con);
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.Update(changes);
((DataTable)dataGridView1.DataSource).AcceptChanges();

但是,每当我离开编辑的行时,我都会遇到以下错误:

Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

根据错误提示(以及我访问的每个网站),我需要在表中包含一个主键。但是,我已经有一个int自增主键了。这是我用来创建临时表的代码,以及原始非临时表的相关代码。

ALTER TABLE all_plants ADD COLUMN plantID INT PRIMARY KEY AUTO_INCREMENT;
CREATE TEMPORARY TABLE all_plants_temp SELECT * FROM all_plants;

有人可以告诉我代码中的错误吗?如有任何帮助,我们将不胜感激。

最佳答案

正如之前所说,我相信您的临时表没有主键。尝试使用此查询。它将创建带有主键的临时表。将 YourPk 更改为您想要的内容。

CREATE TEMPORARY TABLE all_plants_temp
(YourPk int(10) NOT NULL, PRIMARY KEY (YourPk)) SELECT * from all_plants;

关于c# - MySqlDataAdapter UpdateCommand 无法识别主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36562077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com