如何获取我刚刚插入到C#中的mysql数据库中的对象的id?

Bar*_* PM 0 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();
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,即使它不是最终的解决方案:)非常感谢!

Guf*_*ffa 5

查询结尾处有一个额外的括号.

改变这个

command.CommandText = "SELECT last_insert_id() AS id)";
Run Code Online (Sandbox Code Playgroud)

至:

command.CommandText = "SELECT last_insert_id() AS id";
Run Code Online (Sandbox Code Playgroud)

然后你正在阅读第一条记录到第二条记录,但只有一条记录.

改变这个:

while (reader.Read())
{
 reader.Read();
 MessageBox.Show(reader["id"].ToString());
}
Run Code Online (Sandbox Code Playgroud)

至:

reader.Read();
MessageBox.Show(reader["id"].ToString());
Run Code Online (Sandbox Code Playgroud)