博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql + unidac 使用事务例子
阅读量:5876 次
发布时间:2019-06-19

本文共 1705 字,大约阅读时间需要 5 分钟。

//备注:mysql必须是使用innoDB引擎才支持事务功能,否则以下事务相关代码将失效。//SQL SERVER和Oracle还没试,明天回公司试了再发代码。procedure TForm1.btn1Click(Sender: TObject);var  i, j: Integer;begin  UniConnection1.Connect;  try    try      UniTransaction1.Connections[0].StartTransaction;      UniQuery1.Params.Clear;      UniQuery1.SQL.Text := 'insert into user (username,password)values(:username, :password)';      UniQuery1.Params.ParamByName('username').Value := 'eboy';      UniQuery1.Params.ParamByName('password').Value := '1111';      UniQuery1.ExecSQL; //如果不使用事务,这条将插入进去      UniQuery1.Params.Clear;      UniQuery1.SQL.Text := 'insert into user (username,password)values(:username, :password)';      UniQuery1.Params.ParamByName('username').Value := 'frr';      UniQuery1.Params.ParamByName('password').Value := '123';      UniQuery1.ExecSQL; //如果不使用事务,这条将插入进去      UniQuery1.Params.Clear;      UniQuery1.SQL.Text := 'insert into user (username,password)values(:username, :password)';      UniQuery1.Params.ParamByName('username').Value := 'lj';      UniQuery1.Params.ParamByName('password').Value := '880414';      UniQuery1.ExecSQL; //如果不使用事务,这条将插入进去      UniQuery1.Params.Clear;      UniQuery1.SQL.Text := 'insert into user (username,password)values(:username, :password)';      UniQuery1.Params.ParamByName('username').Value := 'lj';      UniQuery1.Params.ParamByName('password').IsNull; //字段设为not null,所以这里会出错      UniQuery1.ExecSQL; //开启事务后,上面的三条都将回滚            UniTransaction1.Connections[0].Commit;    except on e: Exception do      begin        UniTransaction1.Connections[0].Rollback;        ShowMessage(e.Message);      end;    end;    finally    UniConnection1.Disconnect;  end;end;

 

转载于:https://www.cnblogs.com/china1/p/3395134.html

你可能感兴趣的文章
远程协助
查看>>
Scrum实施日记 - 一切从零开始
查看>>
关于存储过程实例
查看>>
配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
查看>>
AIX 7.1 install python
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
福利丨所有AI安全的讲座里,这可能是最实用的一场
查看>>
开发完第一版前端性能监控系统后的总结(无代码)
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
关于链接文件的探讨
查看>>
android app启动过程(转)
查看>>
Linux—源码包安装
查看>>
JDK8中ArrayList的工作原理剖析
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>