加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET新增数据返回自增ID

发布时间:2020-12-15 21:26:21 所属栏目:asp.Net 来源:网络整理
导读:p class="title"一、情景引入 项目需求:对于一个数据表(表A)的增、删、改全部要有日志记录,日志表(表B)结构?中需要记录表A的自增ID,这样才能将日志与操作的数据一一对应起来。 对于删和改都好办,获取Model时都可以取到这个自增ID,然后就可以存入日

<p class="title">一、情景引入

  项目需求:对于一个数据表(表A)的增、删、改全部要有日志记录,日志表(表B)结构?中需要记录表A的自增ID,这样才能将日志与操作的数据一一对应起来。

  对于删和改都好办,获取Model时都可以取到这个自增ID,然后就可以存入日志表,但是如果新增一条数据,应该如何获取到这个自增ID呢?不知道我有没有表达清楚,下面直接贴具体代码吧:

sql=; strSql.Append(0 AND id=SCOPE_IDENTITY(););

  其实这里还有一个简便写法:

strSql.Append();

  第一种写法应该是更严谨的,但是两种写法都是没问题的。

  SQL语句写好之后,接下来就是ASP.NET运行SQL了:

ExecuteScalar( connectionString,CommandType cmdType, cmdText, SqlCommand cmd = (SqlConnection connection = PrepareCommand(cmd,connection, val = }

  这里用ExecuteScalar命令,原因如下:

  最后用Convert.ToInt32()将上述方法的返回值转成Int型就行了。

  大致说一下具体的原理,SCOPE_IDENTITY()是SQL SERVER的一个内置方法,他会返回当前你的表结构中那个自增列的最后一个值。这样当你新增一条数据之后附加上SCOPE_IDENTITY()这个方法并SELECT一下就获取到最后一个自增列的数字了。当然,如果没有新增数据,但是用SELECT?SCOPE_IDENTITY()就会返回NULL。

<p class="title">四、总结

  好记性不如烂笔头!如有疑问,可以留言交流。

注意:SQL语句都要以英文的分号结尾,切记!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读