//2015/07/03
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient; namespace Ado.netstart_1
{
class Program
{
static void Main(string[] args)
{
//特殊的字符串,数据库连接串
//第一种
string connectionString = "server=.;database=BookSample;uid=LJK;pwd=123456;";
//第二种
//windows身份验证
//当使用windows身份验证的时候,windows用户就是运行程序的用户
//string connectionString = "server=.;integrated security=true;database=BookSample"; //用来访问数据库的类
SqlConnection connection = new SqlConnection(connectionString); try
{
//与数据库建立连接
connection.Open();
Console.WriteLine("已经建立连接"); //sql就是一个字符串
string sql = "insert into students(ID,StuName,Phone,Address,City,State) values(7,'aaa','1318697125','zz','bb','ccc')";
//SqlCommand 表示发送数据库执行SQL命令
SqlCommand command = new SqlCommand(sql,connection);
//将命令发送到数据库执行
//sql语句可分为:查询语句和非查询语句 //默认工作在自动事务之下
//如果工作在手动事务之下
//begin transaction
//rollback / commit //在执行sql dml之前,启动事务
SqlTransaction trans = connection.BeginTransaction();//事务对象 //设定命令所属的事务管理
command.Transaction = trans; int effectCount = command.ExecuteNonQuery();
Console.WriteLine("{0} 行受影响",effectCount); Console.Write("命令已经执行,事务还没有提交,你确定提交吗?Y/N");
string line = Console.ReadLine();
if (line.Substring(, ).ToUpper() == "Y")
{
trans.Commit();
Console.WriteLine("事务已经提交");
}
else
{
trans.Rollback();
Console.WriteLine("事务已经回滚");
}
}
catch (SqlException exception)
{
Console.WriteLine(exception.Message);
}
finally
{
//或者断开与数据库的连接
connection.Dispose();
//connection.Close();
Console.WriteLine("已经断开连接");
}
Console.ReadKey();
}
}
}

c#访问数据库的两种方法以及事务的两种方法的更多相关文章

  1. Spring事务:一种编程式事务,三种声明式事务

    事务隔离级别 隔离级别是指若干个并发的事务之间的隔离程度.TransactionDefinition 接口中定义了五个表示隔离级别的常量: TransactionDefinition.ISOLATIO ...

  2. Spring框架访问数据库的两种方式的小案例

    1.1 以Xml的方式访问数据库的案例 要以xml的方式访问数据库需要用到JdbcTemplate ,因为 JdbcTemplate(jdbc的模板对象)在Spring 中提供了一个可以操作数据库的对 ...

  3. PHP访问数据库配置通用方法

    提取一种对数据库配置的通用方式 目的是通过通用类访问配置文件的方式,提供对数据库连接的动态获取和设置,使开发时和生产应用时都能够提供灵活的.简化的.解耦的操作方式.比如在配置文件中配置好两套数据库访问 ...

  4. Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块

    Python第十三天   django 1.6   导入模板   定义数据模型   访问数据库   GET和POST方法    SimpleCMDB项目   urllib模块   urllib2模块 ...

  5. 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式

    适用于app.config与web.config的ConfigUtil读写工具类   之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一 ...

  6. 两种动态加载JavaScript文件的方法

    两种动态加载JavaScript文件的方法 第一种便是利用ajax方式,第二种是,动静创建一个script标签,配置其src属性,经过把script标签拔出到页面head来加载js,感乐趣的网友可以看 ...

  7. JPA访问数据库的几种方式

    JPA访问数据库的几种方式 本文为原创,转载请注明出处:https://www.cnblogs.com/supiaopiao/p/10901793.html 1. Repository 1.1. 通过 ...

  8. 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)

    #把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...

  9. 【JPA】两种不同的实现jpa的配置方法

    两种不同的实现jpa的配置方法 第一种: com.mchange.v2.c3p0.ComboPooledDataSource datasource.connection.driver_class=co ...

随机推荐

  1. iOS开发——闪光灯

    还是那句很欠揍的话,没啥难度,直接上代码. // //  ViewController.m //  Demo—闪光灯 // //  Created by yyt on 16/4/21. //  Cop ...

  2. 浅析IoC框架

    今日拜读了一篇关于IOC的文章,特意转载,和大家分享一下 1 IoC理论的背景    我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实 ...

  3. css 之!important

    主要是自己犯了个错误: 把 !important 放到了分号后面; 正确写法写法: .current{ background-color: #f1f1f1; border-left: 2px soli ...

  4. java实现——035第一个只出现一次的字符

    import java.util.Hashtable; public class T035 { public static void main(String[] args) { FirstNotRep ...

  5. python with用法

    python中with可以明显改进代码友好度,比如: with open('a.txt') as f: print f.readlines() 为了我们自己的类也可以使用with, 只要给这个类增加两 ...

  6. ubuntu 15.10安装搜狗输入法不能打开

    安装Linux是为了更好的做开发,而开发其实不需要输入中文的,然而 在大中国的环境下,电脑没有中文输入法是不行的... 这次装ubuntu 坚持了4天没有中文输入法,我能说,其实没有中文输入法貌似也没 ...

  7. 怎样看paper 最有效率

    thinking more after reading. Don't just read the papers.in addition, at begining, you'd better focus ...

  8. Angular - - ngHref、ngSrc、ngCopy/ngCut/ngPaste

    ngHref 在Angular程序没完成改变链接上用{{hash}}方式绑定的href值的时候,当用户点击该链接会跳到一个错误的页面. 格式:ng-href=”value” value:表达式. 使用 ...

  9. Typescript中的Class

    let btn = document.createElement('button'); btn.textContent = 'Say Hello'; document.body.appendChild ...

  10. loadrunner:web services接口测试

    本文以实例讲解web services接口测试操作,内容包括:脚本生成.参数化和接口与接口间的取值关联操作. 网站"http://www.webxml.com.cn/zh_cn/web_se ...