DBHelp语句

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient; namespace 模拟ATM机转账
{
static class DBHelp
{
public static bool IDUBySql(string sql)
{
bool fa = false;
string str = "server=.;integrated security=true;database=BankDB";
SqlConnection sqlconn = new SqlConnection(str);
SqlCommand sqlcomm = new SqlCommand(sql, sqlconn); try
{
sqlconn.Open();
//开启事务
sqlcomm.Transaction = sqlconn.BeginTransaction();
fa = sqlcomm.ExecuteNonQuery() > ? true : false;
//提交事务
sqlcomm.Transaction.Commit();
}
catch (SqlException ex)
{
//回滚事务
sqlcomm.Transaction.Rollback();
}
finally
{
sqlconn.Close();
} return fa;
}
public static DataTable GetTableBySql(string sql)
{
DataTable ta = new DataTable();
string str = "server=.;integrated security=true;database=BankDB";
SqlConnection sqlconn = new SqlConnection(str);
SqlCommand sqlcomm = new SqlCommand(sql, sqlconn); SqlDataAdapter da = new SqlDataAdapter(sqlcomm);
da.Fill(ta); return ta;
}
}
}

sql语句

--G.事务:
--定义转账事务,并实现转账操作进行测试,注意:转账过程中实际上两个交易过程,一个是“存入”,一个是“支取”,注意添加交易记录到交易信息表中
begin tran tran_bank
declare @cou int
set @cou=0 update cardInfo set balance=balance-900 where cardID='1010 3576 1234 5678' update cardInfo set balance=balance+500 where cardID='1010 3576 1212 1134' set @cou=@@error+@cou if(@cou<>0)
begin
rollback tran --滚回
end
else
begin
commit tran
insert into transInfo(cardID,transType ,transMoney,remark) values ('1010 3576 1212 1134','存入',500,'李四存款500')
insert into transInfo(cardID,transType ,transMoney,remark) values ('1010 3576 1234 5678','支取',900,'张三取款900')
print '交易成功,以保存新数据'
end
go

带事物处理的DBHelp和sql语句的更多相关文章

  1. MyBatis学习总结_11_MyBatis动态Sql语句

    MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(w ...

  2. executeBatch()批量执行Sql语句

    executeBatch()方法:用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch(); addBatch():向批处理 ...

  3. SQL语句多表连接查询语法

    一.外连接 1.左连接  left join 或 left outer join SQL语句:select * from student left join score on student.Num= ...

  4. MyBatis学习总结(11)——MyBatis动态Sql语句

    MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(w ...

  5. Oracle数据库SQL语句的分类

    1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言,1987年在国际标准组织的支持下成为国际标准.不过各种通行的数据库系统其实在实践过程中都对SQL规范的作了 ...

  6. 带Left Join的SQL语句的执行顺序

    基础的SQL执行顺序 SQL语句执行的时候是有一定顺序的.理解这个顺序对SQL的使用和学习有很大的帮助. 1.from 先选择一个表,或者说源头,构成一个结果集. 2.where 然后用where对结 ...

  7. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

  8. 在Java中编写带占位符的SQL语句

    C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...

  9. C#中 如何执行带GO的sql 语句

    C#中是不允许执行带GO的sql 语句的, 如何做呢? 思路就是将带GO的sql语句转化为分段执行, 但在同一事务内执行. 扩展方法是个很不错的主意, 但是尽量不要影响原来的cmd的一些东东, 如 c ...

随机推荐

  1. c#读取Word模板,利用书签替换内容包括表格

    //生成WORD程序对象和WORD文档对象 Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Inter ...

  2. postfix config

    smtp auth success,other not sure service saslauthd start  [root@localhost ~]# cat /etc/sysconfig/sas ...

  3. 再叙TIME_WAIT

    之所以起这样一个题目是因为很久以前我曾经写过一篇介绍TIME_WAIT的文章,不过当时基本属于浅尝辄止,并没深入说明问题的来龙去脉,碰巧这段时间反复被别人问到相关的问题,让我觉得有必要全面总结一下,以 ...

  4. 《30天自制操作系统》16_day_学习笔记

    harib13a: 今天我们要继续折腾多任务,任务的高效管理是操作系统的一个重要的任务.在今天,我们将为系统创建更加完善的任务管理系统,其中包括优先级,任务等级等. 1.任务管理结构体 #define ...

  5. js中获取当前时间

    var d = new Date();var date = d.getFullYear() + "年" +(d.getMonth() + 1) + "月" +  ...

  6. mysql时间格式DATE_FORMAT()

    1.以下是mysql查询中用到的时间格式的转化形式例子:SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') -- 2015-10-28 SELECT DATE_FORMAT(NO ...

  7. python学习之安装模块

    安装pip下载python模块 yum -y install python-pip pip install pandas (pandas要安装的模块名) 默认使用的官方python源,这个在国内访问很 ...

  8. Android中插件开发篇之----应用换肤原理解析

    一.前言 今天又到周末了,感觉时间过的很快呀.又要写blog了.那么今天就来看看应用的换肤原理解析.在之前的一篇博客中我说道了Android中的插件开发篇的基础:类加载器的相关知识.没看过的同学可以转 ...

  9. 【Python】我的Python学习笔记【2】【using Python 3】

    ... 1. 在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值, 所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便. 2. ...

  10. spark统计

    http://www.myexception.cn/sql/2004512.html http://blog.csdn.net/ssw_1990/article/details/52220466 ht ...