NHibernate - HQL - 添加和更改
添加:
/// <summary>
/// 等待乙方做出回应 A
/// </summary>
private void button2_Click_1(object sender, EventArgs e)
{
//使用NHibernate,进行存储
Chinfo c = new Chinfo(); c.CtinfoId = ID;
c.Goodsinfo = "白玉手镯";
c.Buyersinfo = "甲方";
c.Sellerinfo = "乙方";
c.Infocreatetime = DateTime.Now;//字段Infocreatetime是DateTime类型,所以此处不能ToString.
c.Currentgoodsstate = "A";
c.Goodsflow = "";
c.Goodsflownowtime = DateTime.Now.ToString();
c.CourierId = ""; try
{
NHelper.Session().Save(c);
NHelper.Trans().Commit();
MessageBox.Show("保存成功!", "提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示");
} this.btn_A.Enabled = false;//禁用A
this.btn_B.Enabled = true;//开启B
this.btn_C.Enabled = true;//开启C
}
修改:
/// <summary>
/// 乙方已同意请求 等待公司做出回应 B 1100000
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
try
{
IQuery query = NHelper.Session().CreateQuery("from Chinfo c where c.CtinfoId = ?"); query.SetParameter(, ID); IList<Chinfo> list = query.List<Chinfo>(); list[].Currentgoodsstate = "B";
list[].Goodsflow = "";
list[].Goodsflownowtime = list[].Goodsflownowtime + "-" + DateTime.Now.ToString(); NHelper.Session().Update(list[]); NHelper.Trans().Commit(); MessageBox.Show("修改成功!", "提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示");
} this.btn_B.Enabled = false;//禁用B
this.btn_C.Enabled = false;//禁用C
this.btn_D.Enabled = true;//开启D
this.btn_E.Enabled = true;//开启E
}
NHelper.cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NHibernate;
using NHibernate.Cfg; namespace Changing
{
public static class NHelper
{
//变量声明
static ISession session = null;
static ISessionFactory factory = null;
static ITransaction trans = null; //读取配置文件
static Configuration cfg = new Configuration().Configure(@"Config/NHibernate.cfg.xml"); /// <summary>
/// 创建Session工厂
/// </summary>
/// <returns></returns>
public static ISessionFactory Factory()
{
return factory = cfg.BuildSessionFactory();
} /// <summary>
/// 创建Session
/// </summary>
/// <returns></returns>
public static ISession Session()
{
return session = Factory().OpenSession();
} /// <summary>
/// 创建事务
/// </summary>
/// <returns></returns>
public static ITransaction Trans()
{
trans = session.BeginTransaction(); return trans;
}
}
}
NHibernate - HQL - 添加和更改的更多相关文章
- hibernate HQL添加语句
1.Hibernate HQL添加语句 save();方法使用HQL语句来完成插入操作是不能实现的,不管你使用insert into....values...还是insert into.....sel ...
- [NHibernate]HQL查询
目录 写在前面 文档与系列文章 查询的几种方式 HQL查询 一个例子 总结 写在前面 上篇文章介绍了nhibernate在项目中的基本配置,包括数据库连接字符串的设置,映射文件的配置及需注意的地方,这 ...
- Hibernate之HQL添加过滤器查询的用法
HQL查询过程中支持添加过滤器.使用步骤是这样的: 首先在要查询的实体对象的映射中使用<filter-def>标签配置过滤器,并在相对应的<class>标签中添加对应的< ...
- 动态添加和更改F7编辑器(div和editGrid列)
//更改列编辑器 waf("#editGrid").wafGrid("setColumnConfig", "settlementType", ...
- NHibernate -- HQL
使用NHibernate中的HQL来查询数据. 代码: /// <summary> /// 查找事件 /// </summary> private void btn_Selec ...
- Nhibernate HQL 匿名类(严格说是map的使用以及构造函数的使用
1.map的使用 var hql=string.Format(@"select new map( tc.LimitIndexType as LimitIndexType, tc.LimitS ...
- [NHibernate]一对多关系(级联删除,级联添加)
目录 写在前面 文档与系列文章 一对多关系 一个例子 级联删除 级联保存 总结 写在前面 在前面的文章中,我们只使用了一个Customer类进行举例,而在客户.订单.产品中它们的关系,咱们并没有涉及, ...
- NHibernate系列文章二十二:NHibernate查询之HQL查询(附程序下载)
摘要 NHibernate提供了多种查询方式,最早的HQL语言查询.Criteria查询和SQL Query,到NHibernate 3.0的Linq NHibernate,NHIbernate 4. ...
- [NHibernate]并发控制
目录 写在前面 文档与系列文章 并发控制 乐观并发控制(Optimistic Concurrency) 一个例子 悲观并发控制(Pessimistic Concurrency) 总结 写在前面 上篇文 ...
随机推荐
- TortoiseGit 自动登录
在环境变量里添加Home=%USERPROFILE% 在运行中打开%Home% 在打开目录中新建文件_netrc,并保存以下内容 machine git.oschina.net login usern ...
- Qt 技巧:设置在 debug 路径下直接运行可执行文件
Qt 编译的时候默认会使用影子构建,这时在工作路径下会生成一个目录:xxx-build-desktop-xxx. 如果编译通过,在该目录下会生成一个可执行文件,双击之,但不能运行,提示是缺少某个动态库 ...
- springMVC框架下JQuery传递并解析Json数据
springMVC框架下JQuery传递并解析Json数据
- linux shell 执行多个命令的方法
(1)在每个命令之间用:(分号)隔开. (2)在每个命令之间用&&隔开. &&表示:若前一个命令执行成功,才会执行下一个.这样,可确保所有的命令执行完毕后,其执行过程都 ...
- 啊上班的二号i将诶
http://www.huihui.cn/share/8112372 http://www.huihui.cn/share/8112363 http://www.huihui.cn/share/811 ...
- Uva 225 Golygons
这道题如果直接用Dfs,运气好的话是可以直接过的. 但如果要在Dfs的基础上加快速度,剪枝是必不可少的. 我的剪枝策略: 1.当前点(x,y)回到出发点至少需要 |x| +| y| 步,如果剩余的步数 ...
- 学校作业-Dp练习
题目 ★Stringsobits01 串 考虑排好序的 N(N<=31)位二进制数. 你会发现,这很有趣.因为他们是排列好的,而且包含所有可能的长度为 N 且含有 1 的个数小于等于 L(L ...
- VS2010/MFC对话框四:为控件添加消息处理函数
为控件添加消息处理函数 创建对话框类和添加控件变量在上一讲中已经讲过,这一讲的主要内容是如何为控件添加消息处理函数. MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消 ...
- Card Game Cheater(贪心+二分匹配)
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- for循环语句之求和,阶乘,求偶,求n次篮球蹦起高度
for循环语句格式: ;;/*循环条件*/i++/*状态改变*/) { //循环体,执行代码:(break;跳出循环体) } for 穷举法用循环把各种可能的情况都走一遍,然后用if条件把满足要求的结 ...