急救!一个asp.net中的数据库操作问题。
在C#写的ASP.net页面中,我通过SqlCommand.ExecuteNonQuery()向数据库一个table insert了一条record,这个table有identity列的,所以我在页面中不用给identity列赋值,但是我在insert记录后,需要马上拿回刚insert的record的identity列的值,请问如何可以拿到啊??? 问题点数:20、回复次数:5Top
1 楼drone(雄蜂)回复于 2005-04-02 23:38:17 得分 10
SQL:"insert table(xxx)values(xxx) select @@identity"
C#:(int)SqlCommand.ExecuteScaler();Top
2 楼nickypan(Nicky)回复于 2005-04-02 23:58:00 得分 0
你的意思是我用insert table(xxx)values(xxx) select @@identity来insert我的record,然后用SqlCommand.ExecuteScaler()来代替SqlCommand.ExecuteNonQuery()就可以拿到我insert的record的identity列的值了吗?Top
3 楼hanbb1982(粤饶字号@0768)回复于 2005-04-03 00:05:51 得分 0
那你可以用select @ID= count(ID) from table .Top
4 楼ld_thinking(懒得想)回复于 2005-04-03 00:06:34 得分 10
executenonquery()返回的是影响的记录行数
executscalar()返回一条记录
最后select @@identity 就是返回标识号了
Top
5 楼nickypan(Nicky)回复于 2005-04-03 00:14:43 得分 0
hanbb1982(汉堡~~) ,你的办法不行啊。我的table是delete过record的,所以count的数目会少于identity列的最大值。Top




