我试图检索我刚刚引入数据库的对象的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)
任何帮助将不胜感激,即使它不是最终的解决方案:)非常感谢!
查询结尾处有一个额外的括号.
改变这个
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)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |