Sql server 如何在C中从数据库中获取最后一个id

Sql server 如何在C中从数据库中获取最后一个id,sql-server,c#-2.0,Sql Server,C# 2.0,我已尝试使用SELECT查询从数据库中获取最后一个id,即从studentdetails中选择last_INSERT_id,但对我无效 我真的需要帮助 请问我可以使用什么查询从数据库中获取最后一个id 字符串me=dtba.ConnectionString; SqlConnection=newsqlconnectionme; string selectquery=从studentdetails中选择最后一个\u插入\u id; SqlCommand selectcmd=new-SqlComman

我已尝试使用SELECT查询从数据库中获取最后一个id,即从studentdetails中选择last_INSERT_id,但对我无效

我真的需要帮助

请问我可以使用什么查询从数据库中获取最后一个id

字符串me=dtba.ConnectionString; SqlConnection=newsqlconnectionme; string selectquery=从studentdetails中选择最后一个\u插入\u id; SqlCommand selectcmd=new-SqlCommandselectquery,connection; 选择cmd.Parameters。AddWithValue@id,注册号文本; 尝试 { 连接。打开; SqlDataReader=selectcmd.ExecuteReader; 如果是读卡器,请阅读 { registrationNo.Text=读卡器[id].ToString; } 如果注册号Text== { MessageBox.show抱歉ID尚未读取; } 其他的 { MessageBox.show注册号正确; } } 捕获异常 { MessageBox.Showex.Message; } 最后 { 连接。关闭; } MySQL

它是:

而不是

SELECT LAST_INSERT_id FROM studentdetails
这是因为LAST_INSERT_ID是一个函数,而不是列名。这是假设您使用的是MySQL

SQL Server

如果您使用的是SQL Server,请使用以下命令:

SELECT SCOPE_IDENTITY() AS id FROM studentdetails

请注意,SCOPE_IDENTITY函数只能在插入后立即使用,并且只有在插入行的表中有一个IDENTITY自动递增列时,它才会工作。

这是一种工作方式,但它显示了一个例外:“LAST_INSERT_ID”不是一个重新识别的内置函数名。这实际上是MySQL吗?SQL Server,也就是说,Sql是一个模棱两可的术语。请将产品称为MySql或Sql Server或不太含糊的Microsoft Sql Server。使用不含糊的术语将极大地帮助你走上发展之路。@marc_s的观察对我将其复制到答案中非常重要。请查看此项和相关内容-不要使用
SELECT SCOPE_IDENTITY() AS id FROM studentdetails