网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

数据库组件 Hxj.Data (二十七)(字段组合更新)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

  Hxj.Data V1.5.1版本开始支持字段组合更新。

  例如:update table set a=b+c

  update table set a=a+1

  (+、-、*、/、%)依次类推。

  下面将举具体的例子。(例子只是为了测试效果,没有实际意义)

  例一、

DbSession.Default.Update<Products>(Products._.UnitPrice, Products._.ReorderLevel + Products._.UnitPrice, Products._.ProductID == 1);

  生成的sql如下:

  Text: 

UPDATE [Products] SET [UnitPrice]=[Products].[ReorderLevel] + [Products].[UnitPrice] 
WHERE [Products].[ProductID] = @mjpxqimmtmiyguvv 

  Parameters: 

  @mjpxqimmtmiyguvv[Int32] = 1 

  就是将UnitPrice字段的值更新为UnitPrice加上ReorderLevel字段的值。

  例二、

  DbSession.Default.Update<Products>(Products._.UnitPrice, Products._.UnitPrice + 1, Products._.ProductID == 1);

  生成的sql如下:

  Text: 

UPDATE [Products] SET [UnitPrice]=[Products].[UnitPrice] + @tszvynxwnukkjuzj 
WHERE [Products].[ProductID] = @anuixieadujzvvka 

  Parameters: 

@tszvynxwnukkjuzj[Int32] = 1 
@anuixieadujzvvka[Int32] = 1 

  这里就是将UnitPrice字段的值加1。

  例三、

using (DbTrans trans = DbSession.Default.BeginTransaction()) 
{ 
  trans.Update<Products>(Products._.UnitPrice, Products._.UnitPrice + 1.4, Products._.ProductID == 1); 
 
  trans.Update<Products>(Products._.UnitPrice, Products._.UnitPrice - 2, Products._.ProductID == 2); 
 
  trans.Commit(); 
}

  生成的sql:

  Text: 

UPDATE [Products] SET [UnitPrice]=[Products].[UnitPrice] + @zeylmhakevldbgfn 
WHERE [Products].[ProductID] = @enbemtqnigeugdej 

  Parameters: 

@zeylmhakevldbgfn[Double] = 1.4 
@enbemtqnigeugdej[Int32] = 1 

  Text: 

UPDATE [Products] SET [UnitPrice]=[Products].[UnitPrice] - @vypfmbnjgdpeakqm 
WHERE [Products].[ProductID] = @dqwlfxqjconzrqa 

  Parameters: 

@vypfmbnjgdpeakqm[Int32] = 2 
@dqwlfxqjconzrqa[Int32] = 2 

  通过事务更新操作。

  不过需要注意的是,这个相加或者相减的值要与字段的类型一致,要手动先转换好。

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号