asp.net 获取插入记录的ID
asp.net 获取插入记录的ID
2006年09月16日 星期六 下午 10:08
你的sql语句
string SqlStr=@"insert into table(……)values(……) select SCOPE_IDENTITY() as 'myNewId'"; 执行sql SqlDataReader myDr=用ExecuteReader方法执行你的SQL语句 获得ID myDr.GetValue(0).ToString() 注: /* 对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')*/ INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT IDENT_CURRENT('recordID') as newIDValue /*对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的*/ INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT SCOPE_IDENTITY() as newIDValue /*对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY*/ INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT @@IDENTITY as newIDValue |
Select @@IDENTITY 是获得最新插入的那張表的最新identity值, 如果同时插入两个表, 会返回最后一个表的identity值, 如果并发插入, 则返回最新那次插入的identity, 可能会有冲突的, 用 IDENT_CURRENT 好一点