• c#访问数据库的两种方法以及事务的两种方法


     1 //2015/07/03
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 using System.Data;
     8 using System.Data.SqlClient;
     9 
    10 namespace Ado.netstart_1
    11 {
    12     class Program
    13     {
    14         static void Main(string[] args)
    15         {
    16             //特殊的字符串,数据库连接串
    17             //第一种
    18             string connectionString = "server=.;database=BookSample;uid=LJK;pwd=123456;";
    19             //第二种
    20             //windows身份验证
    21             //当使用windows身份验证的时候,windows用户就是运行程序的用户
    22             //string connectionString = "server=.;integrated security=true;database=BookSample";
    23 
    24             //用来访问数据库的类
    25             SqlConnection connection = new SqlConnection(connectionString);
    26 
    27             try
    28             {
    29                 //与数据库建立连接
    30                 connection.Open();
    31                 Console.WriteLine("已经建立连接");
    32 
    33                 //sql就是一个字符串
    34                 string sql = "insert into students(ID,StuName,Phone,Address,City,State) values(7,'aaa','1318697125','zz','bb','ccc')";
    35                 //SqlCommand 表示发送数据库执行SQL命令
    36                 SqlCommand command = new SqlCommand(sql,connection);
    37                 //将命令发送到数据库执行
    38                 //sql语句可分为:查询语句和非查询语句
    39 
    40                 //默认工作在自动事务之下
    41                 //如果工作在手动事务之下
    42                 //begin transaction
    43                 //rollback / commit
    44 
    45                 //在执行sql dml之前,启动事务
    46                 SqlTransaction trans = connection.BeginTransaction();//事务对象
    47                 
    48                 //设定命令所属的事务管理
    49                 command.Transaction = trans;
    50 
    51 
    52                 int effectCount = command.ExecuteNonQuery();
    53                 Console.WriteLine("{0} 行受影响",effectCount);
    54 
    55                 Console.Write("命令已经执行,事务还没有提交,你确定提交吗?Y/N");
    56                 string line = Console.ReadLine();
    57                 if (line.Substring(0, 1).ToUpper() == "Y")
    58                 {
    59                     trans.Commit();
    60                     Console.WriteLine("事务已经提交");
    61                 }
    62                 else
    63                 {
    64                     trans.Rollback();
    65                     Console.WriteLine("事务已经回滚");
    66                 }
    67             }
    68             catch (SqlException exception)
    69             {
    70                 Console.WriteLine(exception.Message);
    71             }
    72             finally
    73             { 
    74                 //或者断开与数据库的连接
    75                  connection.Dispose();
    76                  //connection.Close();
    77                  Console.WriteLine("已经断开连接");
    78             }
    79             Console.ReadKey();
    80         }
    81     }
    82 }
  • 相关阅读:
    nginx转发域名小记
    简化kubernetes应用部署工具之Helm应用部署
    docker-compose的使用
    使用二进制包安装k8s
    搭建k8s(一)
    linux环境下安装使用selenium Chrome
    常用User-Agent大全
    缓存之Memcache
    git-commit Angular规范
    Kubernetes介绍及基本概念
  • 原文地址:https://www.cnblogs.com/IamJiangXiaoKun/p/4620917.html
Copyright © 2020-2023  润新知