日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

无废话ADO.NET 第二章 关于连接

發布時間:2025/3/20 asp.net 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 无废话ADO.NET 第二章 关于连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以SQLServer為例子進行說明,包含以下內容:

  如何進行連接

  如何關閉連接

  池的問題

  連接狀態

1.如何進行連接

// 創建連接實例
DbConnection myConnection = new SqlConnection();
// 設置連接字符串
myConnection.ConnectionString = "user id=userName;password=pass;initial catalog=northwind;data source=mySQLServer;Connect Timeout=30";
// 打開連接
myConnection.Open();

2.如何關閉連接

// 創建連接實例
DbConnection myConnection = new SqlConnection();
// 設置連接字符串
myConnection.ConnectionString = "user id=userName;password=pass;initial catalog=northwind;data source=mySQLServer;Connect Timeout=30";
// 打開連接
myConnection.Open();
// 關閉連接,用Dispose也可以實現關閉;連接實例被垃圾回收器回收的時候不會自動釋放數據庫連接
myConnection.Close();

3.池的問題

  當連接打開時,將根據一種精確的匹配算法來創建連接池,該算法會使連接池與連接中的字符串相關聯。
  每個連接池都與一個不同的連接字符串相關聯。當新連接打開時,如果連接字符串不精確匹配現有池,則將創建一個新池。

  在以下示例中,將創建三個新的 SqlConnection 對象,但只需要使用兩個連接池來管理這些對象。
  請注意,第一個和第二個連接字符串的差異在于為 Initial Catalog 分配的值

SqlConnection conn = new SqlConnection();
conn.ConnectionString
= "Integrated Security=SSPI;Initial Catalog=northwind";
conn.Open();
// Pool A is created.

SqlConnection conn
= new SqlConnection();
conn.ConnectionString
= "Integrated Security=SSPI;Initial Catalog=pubs";
conn.Open();
// Pool B is created because the connection Strings differ.

SqlConnection conn
= new SqlConnection();
conn.ConnectionString
= "Integrated Security=SSPI;Initial Catalog=northwind";
conn.Open();
// The connection String matches pool A.

 

  以上是連接字符串中與池相關的設置。

  關于池的概念這里不多說

4.連接狀態

  通過連接實例的State屬性,可以觀察數據庫連接的狀態,共有如下種狀態

??? ??? ??? System.Data.ConnectionState.Closed
??? ??? ??? System.Data.ConnectionState.Open
??? ??? ??? System.Data.ConnectionState.Connecting
??? ??? ??? System.Data.ConnectionState.Executing
??? ??? ??? System.Data.ConnectionState.Fetching
??? ??? ??? System.Data.ConnectionState.Broken

  StateChange事件在 Connection 的狀態出現更改時發生。StateChange 事件接收 StateChangeEventArgs,它們使您能夠使用 OriginalState 和 CurrentState 屬性來確定 Connection 狀態中的更改。OriginalState 屬性它指示 Connection 在更改前的狀態。CurrentState 它指示 Connection 在更改后的狀態。

      myConnection.StateChange += new StateChangeEventHandler(OnStateChange);

protected static void OnStateChange(object sender, StateChangeEventArgs args)
{
Console.WriteLine(
"The current Connection state has changed from {0} to {1}.",
args.OriginalState, args.CurrentState);
}

轉載于:https://www.cnblogs.com/hutou/archive/2011/02/24/1963691.html

總結

以上是生活随笔為你收集整理的无废话ADO.NET 第二章 关于连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。