c# - 在 C# 中,如何获取刚刚插入到 mysql 数据库中的对象的 ID?

标签 c# mysql

我正在尝试检索我刚刚引入数据库的对象的 ID,但它不起作用(我总是遇到异常)并且这不是因为查询,显然它工作正常。我已经尝试了我在网上找到的其他方法,但都没有用。这是我使用的代码(C# 和数据库是 MySql)

conn.Open();
command = conn.CreateCommand();
command.CommandText = //here it goes the insert command which works perfectly
command.ExecuteNonQuery();

//Last object's id is retrieved
command = conn.CreateCommand();
command.CommandText = "SELECT last_insert_id() AS id)";
reader = command.ExecuteReader();

while (reader.Read())
{
 reader.Read();
 MessageBox.Show(reader["id"].ToString());
}
conn.Close();

即使不是最终解决方案,我们也将不胜感激 :) 非常感谢!

最佳答案

您在查询末尾有一个额外的括号。

改变这个

command.CommandText = "SELECT last_insert_id() AS id)";

到:

command.CommandText = "SELECT last_insert_id() AS id";

然后您从第一条记录读取到第二条记录,但只有一条记录。

改变这个:

while (reader.Read())
{
 reader.Read();
 MessageBox.Show(reader["id"].ToString());
}

到:

reader.Read();
MessageBox.Show(reader["id"].ToString());

关于c# - 在 C# 中,如何获取刚刚插入到 mysql 数据库中的对象的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211990/

相关文章:

c# - 使用 C# 从 AST 制作一个真正的解释器

c# - GC.GetTotalMemory(false) 与容器内存工作集问题(Azure AKS、.NET Core 5)

MySQL 仅在值存在时才加入一列

php - PDO/SQL 未插入数据 : simple example

mysql - 在 MySQL 中使用 SELECT ... WHERE id = 0 on VARCHAR id 的意外结果

mySQL "Unknown column"错误

mysql - SQL 语句按问题排序

c# - 向 DataGridViewCell 添加自定义控件

c# - 有什么方法可以使用 .NET 应用程序来处理 git 吗?

c# - 有关 sql server 存储印地文 mangal devnagari 字体的问题。当我尝试插入值时它显示方框