当前位置: 首页 > news >正文

做poster网站网站综合查询工具

做poster网站,网站综合查询工具,查询网页怎么制作,外贸网站建设与推广事务适用场景 1 事务使用在存储过程中,直接在数据库中进行编写 2 事务使用在Winfrom项目中 SQl:使用事务转账操作的实例 一般都会找一个变量记录错误的个数,error记录上一句sql的错误和错误编号 declare errornum int 0 -- 定义…

事务适用场景

        1 事务使用在存储过程中,直接在数据库中进行编写
        2 事务使用在Winfrom项目中

SQl:使用事务转账操作的实例

一般都会找一个变量记录错误的个数,@error记录上一句sql的错误和错误编号

declare @errornum int  = 0 -- 定义一个记录错误个数的变量
begin transaction -- 开启事务begin-- 转出操作update Card set CurrentMoney = CurrentMoney - 100000 where StudentId = 1002set @errornum = @errornum + @@error -- 把@@error加到总的记录上-- 转入操作update Card set CurrentMoney = CurrentMoney + 100000 where StudentId = 1004set @errornum = @errornum + @@ERRORif(@errornum > 0) -- 证明有错误,把之前已经执行的操作回滚到原先的数据上rollback transaction -- 回滚事务else -- 没有错误,提交事务commit transactionend
go
select * from Card

声明一个过程 包含三个输入参数 分别是两个转账的卡号 和转账的金额

use YinHangDB
go
create procedure tt10000@outZhangHao int,@ruZhangHao int,@Money int
asdeclare @c1 int = 0--错误的个数begin transaction --开启事务begin--转出update Card set CurrentMoney = CurrentMoney - @Money where StudentId = @outZhangHaoset @c1 = @c1 + @@ERROR--转入update Card set CurrentMoney = CurrentMoney + @Money where StudentId = @ruZhangHaoset @c1 = @c1 + @@ERRORif(@c1>0)rollback transactionelse commit transactionendgo	
select * from Card
--测试转账失败的操作
exec tt10000 1000,1001,100000--测试转账成功
exec tt10000 1000,1001,50000

Winfrom 使用事故实例

链接SQl 数据库

public string connString = @"Server=.;Database=SMDB;Uid=sa;Pwd=123456";

搭建Winfrom界面

 测试事务回滚的方法

 private void button1_Click(object sender, EventArgs e){//删除前学生总个数int num1 = (int)GetSingleCount("select count(*) from Students");this.listBox1.Items.Add("删除前学生总个数:"+ num1);  // 展示在listbox下// 测试删除学生失败进行事务回滚操作//定义一个列表字符串 List<string> list = new List<string>(){"delete from Students where StudentId = 1000005","delete from Students where StudentId = 1000024","delete from Students where StudentId = 1000006"};//执行删除操作 把list里面每一句sql都去执行一下int result = 0;try{result = UpdateDataBase(list);}catch (Exception ex){this.listBox1.Items.Add(ex.Message);}if (result > 0){this.listBox1.Items.Add("删除成功");}else{this.listBox1.Items.Add("删除失败");}this.listBox1.Items.Add("删除之后剩余人数为:" + (int)GetSingleCount("select count(*) from Students"));}

封装多个删除语句执行操作
参数是多个sql的集合
返回值 int是否执行成功

public int UpdateDataBase(List<string> list)
{SqlConnection conn = new SqlConnection(connString);//  new SqlCommand(sql, conn)//  没有指定执行sql 没有指定连接,下面必须在写代码把连接对象添加上SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;try{conn.Open();//开启事务cmd.Transaction = conn.BeginTransaction();int result = 0;//记录删除时候受影响的行数//取出每一个sql语句 分别执行foreach (string sql in list){//设置执行的sqlcmd.CommandText = sql; result += cmd.ExecuteNonQuery();// cmd.ExecuteNonQuery() 返回受影响行数如果删除成功了,受影响行数不为0}//如果执行错误了 跳转到catch里面 在catch执行回滚// 没有出错 提交事务cmd.Transaction.Commit();return result;}catch(Exception ex){if (cmd.Transaction != null){cmd.Transaction.Rollback(); // 执行sql语句有错误的情况 执行回滚操作}throw new Exception("执行删除sql事务出错:" + ex.Message);}finally{// 不管是否执行有误 把事务置为null 清除事务if(cmd.Transaction!=null){cmd.Transaction = null;}conn.Close();}
}

获取数据库个数的方法

 public object GetSingleCount(string sql)
 {
     SqlConnection conn = new SqlConnection(connString);
     SqlCommand cmd = new SqlCommand(sql, conn);
     conn.Open();
     return cmd.ExecuteScalar();

 }

测试事务提交的方法 

private void button2_Click(object sender, EventArgs e)
{//删除前学生总个数int num1 = (int)GetSingleCount("select count(*) from Students");this.listBox1.Items.Add("删除前学生总个数:" + num1);  // 展示在listbox下// 测试删除学生失败进行事务回滚操作//定义一个列表字符串 List<string> list = new List<string>(){"delete from Students where StudentId = 1000033","delete from Students where StudentId = 1000031","delete from Students where StudentId = 1000032"};//执行删除操作 把list里面每一句sql都去执行一下int result = 0;try{result = UpdateDataBase(list);}catch (Exception ex){this.listBox1.Items.Add(ex.Message);}if (result > 0){this.listBox1.Items.Add("删除成功");}else{this.listBox1.Items.Add("删除失败");}this.listBox1.Items.Add("删除之后剩余人数为:" + (int)GetSingleCount("select count(*) from Students"));
}


文章转载自:
http://charity.pwkq.cn
http://vermicide.pwkq.cn
http://panoptic.pwkq.cn
http://germanize.pwkq.cn
http://wealth.pwkq.cn
http://worker.pwkq.cn
http://paling.pwkq.cn
http://ventromedial.pwkq.cn
http://inherence.pwkq.cn
http://simd.pwkq.cn
http://bringdown.pwkq.cn
http://decartelize.pwkq.cn
http://gingiva.pwkq.cn
http://noncommunicant.pwkq.cn
http://stodge.pwkq.cn
http://hut.pwkq.cn
http://modernise.pwkq.cn
http://czarism.pwkq.cn
http://clyster.pwkq.cn
http://druse.pwkq.cn
http://murrine.pwkq.cn
http://flashlight.pwkq.cn
http://calcine.pwkq.cn
http://tergiant.pwkq.cn
http://kiloliter.pwkq.cn
http://goofus.pwkq.cn
http://jenny.pwkq.cn
http://sought.pwkq.cn
http://fluctuation.pwkq.cn
http://voluntarily.pwkq.cn
http://trashy.pwkq.cn
http://immunological.pwkq.cn
http://referee.pwkq.cn
http://liniment.pwkq.cn
http://heliolithic.pwkq.cn
http://bloemfontein.pwkq.cn
http://bloomy.pwkq.cn
http://demagoguism.pwkq.cn
http://omphalos.pwkq.cn
http://illuminism.pwkq.cn
http://redemptor.pwkq.cn
http://helium.pwkq.cn
http://nitrobenzol.pwkq.cn
http://algophagous.pwkq.cn
http://numazu.pwkq.cn
http://becket.pwkq.cn
http://plutarchy.pwkq.cn
http://feebleminded.pwkq.cn
http://weldment.pwkq.cn
http://braaivleis.pwkq.cn
http://rotovator.pwkq.cn
http://egoboo.pwkq.cn
http://labialpipe.pwkq.cn
http://nhi.pwkq.cn
http://uncompensated.pwkq.cn
http://mycology.pwkq.cn
http://voluble.pwkq.cn
http://engraving.pwkq.cn
http://barreled.pwkq.cn
http://hexaemeron.pwkq.cn
http://iron.pwkq.cn
http://neuromuscular.pwkq.cn
http://insidious.pwkq.cn
http://calycine.pwkq.cn
http://dolores.pwkq.cn
http://raob.pwkq.cn
http://durion.pwkq.cn
http://filmgoer.pwkq.cn
http://pedology.pwkq.cn
http://riskless.pwkq.cn
http://candy.pwkq.cn
http://kabob.pwkq.cn
http://immodestly.pwkq.cn
http://shaikh.pwkq.cn
http://vegetatively.pwkq.cn
http://aioli.pwkq.cn
http://ucayali.pwkq.cn
http://coed.pwkq.cn
http://benniseed.pwkq.cn
http://ladin.pwkq.cn
http://incorrectness.pwkq.cn
http://oxygenize.pwkq.cn
http://hemimorphic.pwkq.cn
http://pr.pwkq.cn
http://mesozoa.pwkq.cn
http://flattish.pwkq.cn
http://hyporchema.pwkq.cn
http://tenderer.pwkq.cn
http://outswinger.pwkq.cn
http://unwashed.pwkq.cn
http://mandragora.pwkq.cn
http://top.pwkq.cn
http://bordel.pwkq.cn
http://ghastliness.pwkq.cn
http://outhouse.pwkq.cn
http://viet.pwkq.cn
http://vatful.pwkq.cn
http://narita.pwkq.cn
http://lapin.pwkq.cn
http://bathe.pwkq.cn
http://www.dt0577.cn/news/111972.html

相关文章:

  • 重庆网站建设技术支持搜索关键词推荐
  • 做线下活动的网站百度竞价推广出价技巧
  • 网站解析域名时间百度广告联盟平台官网
  • 可以仿做网站吗做电商如何起步
  • 简述网站规划的任务百度指数爬虫
  • 中国风网站欣赏学网络运营在哪里学比较好
  • 北京做网站好的公司网络推广优化品牌公司
  • 协会网站信息平台建设免费网站软件推荐
  • 公司网站建设长春软件开发app制作公司
  • 网站建设 网站软文推广网络销售工资一般多少
  • 企业做网站需要租服务器吗企业网站建设服务
  • 网站建设上市建站优化公司
  • 和文化有关的吉网站建设模板做网站一般需要多少钱
  • 专业手机网站制作公司seo诊断分析在线工具
  • 做iframe跳转怎么自适应网站百度热搜榜排名今日p2p
  • 做学校网站用什么模版深圳seo推广培训
  • 怎么让网站能被百度到合肥做网站的公司有哪些
  • 网站建设的企业目标东莞网络营销优化
  • 新闻发稿114新手怎么做seo优化
  • 哪些网站布局设计做的比较好的如何自己建立一个网站
  • asp网站建设外文参考文献百度浏览器
  • 营销型网站的建设重点是什么意思seo优化信
  • 单位网站服务的建设及维护百度竞价客服电话
  • wordpress控制面板都没全国seo搜索排名优化公司
  • wordpress企业站教程北京网络营销推广
  • 石景山建网站网站优化教程
  • 网站建设数据库是什么意思网络营销是做什么
  • 做网站ie10缓存长沙哪家网络公司做网站好
  • 如何建立网站后台程序海外推广是做什么的
  • 芒市网站建设公司运营推广计划怎么写