C#初学者 请教大神怎么才能获得刚插入新记录的自动ID号,并保存到某变量中

请问如何才能获得刚插入新记录的自动ID号,并保存到某变量中?
看网上说 :用select @@identity语句,可是该语句该如何用呢??
假如我想获取新纪录的ID号,并保存到 int Num变量中去,该如何写?请教各位大侠!
在线等!!!!!

1个回答

一起执行呗,比如:
insert into ...;
select @@identity ;

然后通过ado.net的ExecuteScalar()方法(返回第一行第一列的值)即可得到。

qq_29107721
飞不起来的小菜鸟 回复极简: 可以了,谢谢你。
接近 4 年之前 回复
guwei4037
极简吧 回复流氓先森: 前提是select @@identity返回的id号是一个int类型
接近 4 年之前 回复
guwei4037
极简吧 回复流氓先森: result = Convert.ToInt32(cmd.ExecuteScalar().ToString());
接近 4 年之前 回复
qq_29107721
飞不起来的小菜鸟 回复极简:提示错误无法将object隐式转换为int,强转之后未处理 System.InvalidCastException
接近 4 年之前 回复
guwei4037
极简吧 回复流氓先森: result = cmd.ExecuteNonQuery(); 换成result = cmd.ExecuteScalar();
接近 4 年之前 回复
qq_29107721
飞不起来的小菜鸟 你说的是这样吗?
接近 4 年之前 回复
qq_29107721
飞不起来的小菜鸟 string sqlStr = "insert into [user](userName,Password)values('" + txtName.Text + "','" + txtPwd.Text + "')select @@identity ;"; using (SqlCommand cmd = new SqlCommand(sqlStr, con)) { con.Open(); result = cmd.ExecuteNonQuery(); txtName.Text = result.ToString(); }
接近 4 年之前 回复
qq_29107721
飞不起来的小菜鸟 这样的话,只要插入成功返回的都是1啊
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐