gpt4 book ai didi

c# - 在 ASP.NET 中检索 LAST_INSERT_ID 值时记录发布两次

转载 作者:行者123 更新时间:2023-11-29 06:06:19 24 4
gpt4 key购买 nike

我在 asp.net 中实现了用于存储记录和检索身份字段值的代码。这是我的代码。

str.Append("Insert Into Table1(value1,value2)values(?value1,?value2);Select LAST_INSERT_ID();");
MySqlCommand cmd = new MySqlCommand(str.ToString(), con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add(new MySqlParameter("?value1", value1));
cmd.Parameters.Add(new MySqlParameter("?value2", value2));
if (con.State != ConnectionState.Open)
con.Open();
cmd.ExecuteNonQuery();
long id = Convert.ToInt64(cmd.ExecuteScalar());

当我检查我的数据库时,每条记录发布了两次。当我删除线时。

 long id = Convert.ToInt64(cmd.ExecuteScalar());

一切都很好,但没有检索到身份。我如何实现代码以检索身份字段值并仅发布一次记录。

最佳答案

ExecuteScalar 执行查询并返回结果。 ExecuteNonQuery 执行查询。这意味着您在这里通过调用两者来执行查询两次。摆脱ExecuteNonQuery方法,你会很好

if (con.State != ConnectionState.Open) 
con.Open();

long id = Convert.ToInt64(cmd.ExecuteScalar());

关于c# - 在 ASP.NET 中检索 LAST_INSERT_ID 值时记录发布两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368261/

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