欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中實(shí)現(xiàn)一次執(zhí)行多條帶GO的sql語(yǔ)句實(shí)例

 更新時(shí)間:2015年09月26日 16:23:47   作者:yenange  
這篇文章主要介紹了C#中實(shí)現(xiàn)一次執(zhí)行多條帶GO的sql語(yǔ)句,以實(shí)例形式較為詳細(xì)的分析了C#執(zhí)行sql語(yǔ)句的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#中實(shí)現(xiàn)一次執(zhí)行多條帶GO的sql語(yǔ)句。分享給大家供大家參考。具體如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Text.RegularExpressions;
using System.Data.SqlClient; 
namespace ConsoleApplication1
{
 class Program
 {
  //注: 在cmd.ExecuteNonQuery()是不允許語(yǔ)句中有GO出現(xiàn)的, 有則出錯(cuò)。
  static string connectionString = "server=20111011-2204\\SQLSERVER2008;uid=ecuser;pwd=1234;database=Stu;";
  static void Main(string[] args)
  {
   string sql = 
@"Alter table Student add DateBak varchar(16) 
  go 
 Update Student set DateBak = convert(char,getdate(),101)
 go 
 Update Student set Memo = DateBak
go 
 Alter table Student drop column DateBak 
go 
";
   Console.WriteLine("1. 不用事務(wù):");
   ExecuteSqlWithGo(sql);
   Console.WriteLine("2. 用事務(wù):");
   ExecuteSqlWithGoUseTran(sql);
   Console.ReadLine();
  }
  public static void ExecuteSqlWithGo(String sql)
  {
   int effectedRows = 0;
   using (SqlConnection conn = new SqlConnection(connectionString))
   {
    conn.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    try
    {
     //注: 此處以 換行_后面帶0到多個(gè)空格_再后面是go 來(lái)分割字符串
     String[] sqlArr = Regex.Split(sql.Trim(), "\r\n\\s*go", RegexOptions.IgnoreCase); 
     foreach (string strsql in sqlArr)
     {
      if (strsql.Trim().Length > 1 && strsql.Trim()!="\r\n")
      {
       cmd.CommandText = strsql;
       effectedRows = cmd.ExecuteNonQuery();
      }
     }
    }
    catch (System.Data.SqlClient.SqlException E)
    {
     throw new Exception(E.Message);
    }
    finally
    {
     conn.Close();
    }
   }
  }
  public static void ExecuteSqlWithGoUseTran(String sql)
  {
   using (SqlConnection conn = new SqlConnection(connectionString))
   {
    conn.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    SqlTransaction tx = conn.BeginTransaction();
    cmd.Transaction = tx;
    try
    {
     //注: 此處以 換行_后面帶0到多個(gè)空格_再后面是go 來(lái)分割字符串
     String[] sqlArr = Regex.Split(sql.Trim(), "\r\n\\s*go", RegexOptions.IgnoreCase); 
     foreach (string strsql in sqlArr)
     {
      if (strsql.Trim().Length > 1 && strsql.Trim() != "\r\n")
      {
       cmd.CommandText = strsql;
       cmd.ExecuteNonQuery();
      }
     }
     tx.Commit();
    }
    catch (System.Data.SqlClient.SqlException E)
    {
     tx.Rollback();
     throw new Exception(E.Message);
    }
    finally
    {
     conn.Close();
    }
   }
  } 
 }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C# GDI在控件上繪圖的方法

    C# GDI在控件上繪圖的方法

    這篇文章主要介紹了C# GDI在控件上繪圖的方法,包括了常見的鼠標(biāo)事件及繪圖操作,需要的朋友可以參考下
    2014-09-09
  • asp.net core 使用 tensorflowjs實(shí)現(xiàn) face recognition的源代碼

    asp.net core 使用 tensorflowjs實(shí)現(xiàn) face recognition的源代碼

    tensorflowjs,在該項(xiàng)目中使用了ml5js這個(gè)封裝過(guò)的機(jī)器學(xué)習(xí)JavaScript類庫(kù), 使用起來(lái)更簡(jiǎn)單,本文給大家分享asp.net core 使用 tensorflowjs實(shí)現(xiàn) face recognition的源代碼,需要的朋友參考下吧
    2021-06-06
  • C# 如何實(shí)現(xiàn)一個(gè)帶通知的List<T>

    C# 如何實(shí)現(xiàn)一個(gè)帶通知的List<T>

    這篇文章主要介紹了C# 如何實(shí)現(xiàn)一個(gè)帶通知的List<T>,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#創(chuàng)建、讀取和修改Excel的方法

    C#創(chuàng)建、讀取和修改Excel的方法

    這篇文章主要介紹了C#創(chuàng)建、讀取和修改Excel的方法,涉及C#使用Jet OLE DB操作Excel的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • WPF基礎(chǔ)教程之形狀畫刷與變換詳解

    WPF基礎(chǔ)教程之形狀畫刷與變換詳解

    這篇文章主要給大家介紹了關(guān)于WPF基礎(chǔ)教程之形狀畫刷與變換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 使用c#在word文檔中創(chuàng)建表格的方法詳解

    使用c#在word文檔中創(chuàng)建表格的方法詳解

    本篇文章是對(duì)使用c#在word文檔中創(chuàng)建表格的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#使用CefSharp控件實(shí)現(xiàn)爬蟲

    C#使用CefSharp控件實(shí)現(xiàn)爬蟲

    這篇文章介紹了C#使用CefSharp控件實(shí)現(xiàn)爬蟲的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#使用XmlDocument或XDocument創(chuàng)建xml文件

    C#使用XmlDocument或XDocument創(chuàng)建xml文件

    這篇文章主要為大家詳細(xì)介紹了C#使用XmlDocument或XDocument創(chuàng)建xml文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • C#多線程編程中的鎖系統(tǒng)基本用法

    C#多線程編程中的鎖系統(tǒng)基本用法

    這篇文章主要介紹了C#多線程編程中的鎖系統(tǒng)基本用法,本文講解了lock、Monitor、mutex、Semaphore等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • C#中使用WinRAR實(shí)現(xiàn)加密壓縮及解壓縮文件

    C#中使用WinRAR實(shí)現(xiàn)加密壓縮及解壓縮文件

    這篇文章主要介紹了C#中使用WinRAR實(shí)現(xiàn)加密壓縮及解壓縮文件,本文直接給出實(shí)例代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
    2015-07-07

最新評(píng)論