在MSSQL中添加记录后获取当前记录ID的方法:
string sqlCmd = "SET NOCOUNT ON;Insert into userdb(username,userpwd) values('"&username&"','"&userpwd&"');Select @@IDENTITY";
程序代码
string sqlCmd = "SET NOCOUNT ON;Insert into userdb(username,userpwd) values('"&username&"','"&userpwd&"');Select @@IDENTITY";
CmdObj = new SqlCommand(SqlCmd,myConnect);
myConnect.Open();
SqlReader = CmdObj.ExecuteReader();
int index = int.Parse( SqlReader[0].ToString()); //这里获得插入后在表中的序列号
此代码告诉 SQL Server 不要返回查询的行计数,然后执行 Insert 语句,并返回刚刚为这个新行创建的 IDENTITY 值。SET NOCOUNT ON 语句表示返回的记录集有一行和一列,其中包含了这个新的 IDENTITY 值。如果没有此语句,则会首先返回一个空的记录集(因为 Insert 语句不返回任何数据),然后会返回第二个记录集,第二个记录集中包含 IDENTITY 值。
此代码告诉 SQL Server 不要返回查询的行计数,然后执行 Insert 语句,并返回刚刚为这个新行创建的 IDENTITY 值。SET NOCOUNT ON 语句表示返回的记录集有一行和一列,其中包含了这个新的 IDENTITY 值。如果没有此语句,则会首先返回一个空的记录集(因为 Insert 语句不返回任何数据),然后会返回第二个记录集,第二个记录集中包含 IDENTITY 值。
.@@表示全局变量 ,Identity本来的意思就是唯一的,非重复的。