c#中如何写有传回值的sqlcommand

derek 2004-09-15 11:10:47
想在insert一条记录到sqlserver时得到数据表自动产生的id,如何做?谢!
...全文
149 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gbbword 2004-09-15
  • 打赏
  • 举报
回复
不要直接使用inser语句,而是做一个存储过程,调用存储过程,这样你就可以获得你想要的了!
derek 2004-09-15
  • 打赏
  • 举报
回复
那位帮我upup(有新意当然更好):
http://community.csdn.net/Expert/topic/3371/3371670.xml?temp=.3845331

我还有话要说,这里连续发言不能超过三次。。。。。。
forideal 2004-09-15
  • 打赏
  • 举报
回复
反对 rices() ,最大值不一定是刚插入的
sunyou 2004-09-15
  • 打赏
  • 举报
回复
SELECT @@IDENTITY就是刚才插入的记录的编号
ArEoN 2004-09-15
  • 打赏
  • 举报
回复
楼上的不要误导楼主哈:)

多个用户操作的话,你怎么办?

思归大哥给出了
Rices2008 2004-09-15
  • 打赏
  • 举报
回复
insert后的ID如果是自动编号的话,理论上应该是最大的,那么,你在Insert完成后可以Select一下ID号是最大的那一条记录,并将ID号返回出来就可以了.

记住,这两条语句是command里可以写在一起
就好象存储过程一样,是支持批量脚本的.

返回出来的值,再用返回类型的Parameter来接收这样一个返回值.
thinkingforever 2004-09-15
  • 打赏
  • 举报
回复
this.sqlInsertCommand1.CommandText = @"INSERT INTO CoalGas(CoalBedNo, MensurateDate, GasPress, GasAbsoGush, GasCompaGush) VALUES (@CoalBedNo, @MensurateDate, @GasPress, @GasAbsoGush, @GasCompaGush); SELECT ID, CoalBedNo, MensurateDate, GasPress, GasAbsoGush, GasCompaGush FROM CoalGas WHERE (ID = @@IDENTITY)";
saucer 2004-09-15
  • 打赏
  • 举报
回复
add SELECT SCOPE_IDENTITY() at the end of your insert command


insert ...; SELECT SCOPE_IDENTITY()

also see

Retrieving Identity or Autonumber Values
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconretrievingidentityorautonumbervalues.asp
derek 2004-09-15
  • 打赏
  • 举报
回复
我想分对思归大哥来说已不再重要,所以就少给点啦 :)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧