如何在C#中获取新插入的identity列值
1个回答
展开全部
今晚尝试了一下,在系统特定需求下实现了获取identity列的新增值。1stringsql="insertintotbUsers(User_loginname,User_password,)values(";2sql+="'"+LogName+"'";3sql+=",'"+Password+"'";4sql+=")";5DataSetds=oDB.GetDs(sql+";selectSCOPE_IDENTITY()asid");
6 stringid=ds.Tables[0].Rows[0]["id"
].ToString();
其中第5行的GetDs函数如下:1publicDataSetGetDs(stringstr_Sql)2{3Open();4SqlDataAdapterAda=newSqlDataAdapter(str_Sql,cn);5DataSetds=newDataSet();6Ada.Fill(ds);7cn.Close();8returnds;9}
此外,SCOPE_IDENTITY功能类似的还有IDENT_CURRENT和@@IDENTITY,因为它们都返回插入到IDENTITY列中的值。
IDENT_CURRENT不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT返回为任何会话和作用域中的特定表所生成的值。有关更多信息,请参见IDENT_CURRENT。
SCOPE_IDENTITY和@@IDENTITY返回在当前会话中的任何表内所生成的最后一个标识值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询