沉默之都

沉默,造就了我们的冷酷-程序的威力
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ThinkDev.Data-新增插入数据后获取自增长ID选项

Posted on 2013-01-29 10:59  基点项目师  阅读(218)  评论(0编辑  收藏  举报

在日常的数据库操作中,在使用Insert的时候我们经常会需要获取到对应的自增长ID来反馈给前台使用,本次ThinkDev.Data更新,专门新增了WithIdentity选项来提供支持。

方法名:WithIdentity()
作用:在执行Insert或Update后返回匹配的自增长ID项
限制:仅作用于Insert或者Update,其他方法忽视该设置。

sql = SqlBuilder.From("dbo.TableName")
                .Insert()
                .AddInsert("Field", 1)
                .AddInsert("Field2", 10)
                .WithIdentity()
                .GetSql();
sql = SqlBuilder.From("dbo.TableName")
                .Update()
                .Set("Field", 1)
                .Where("Field2", MatchType.Equal, 10)
                .WithIdentity()
                .GetSql();

如何获取编号:
在代码层操作时,为了得到编号,不再使用ExecuteNonQuery,而改为ExecuteScalar或者ExecuteDataSet。
如果为ExecuteScalar,则得到的结果即为编号,如果为ExecuteDataSet,则在得到的DataTable中,获取第一行的[IDENTITY]字段值。