日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > C# > 正文

C#數據庫編程之連接對象Connection使用詳解

2023-05-11 12:02:24
字體:
來源:轉載
供稿:網友

在C#數據庫編程中,Connection對象用來連接數據源,針對不同的數據庫連接模式,Connection有以下三種形式:

(1)SqlConnection 該對象是專為連接Sql Server數據庫而設計的

(2)OleDbConnection 該對象可以連接任何類型的數據庫

(3)OdbcConnection

在具體學習內容之前,首先看一個例子,通過這個例子首先了解以下C#編寫數據庫應用程序的方法。

本例是從Access數據庫中將學生的信息讀取出來并打印在屏幕中。

程序的源代碼如下:

//首先引入需要的命名空間
using System;
using System.Data;
using System.Data.OleDb; //使用OleDb連接模式
//定義一個類
class Student
{
  static void Main()
  {
    //定義連接字符串,該連接字符串是使用OleDb連接模式連接Access數據庫的方法
    string connString = "provider=Microsoft.Jet.OleDb.4.0;Data Source=E://Lesson//mydb.mdb;";
    //定義連接對象
    OleDbConnection oConn = new OleDbConnection(connString);
    oConn.Open();//打開連接對象
    OleDbCommand oCmd = new OleDbCommand(); //定義命令對象
    oCmd.CommandText = "SELECT * FROM student";//指定命令對象的命令文本
    oCmd.Connection = oConn; //指定命令對象使用的連接
    OleDbDataReader odr; //定義數據讀取器
    odr = oCmd.ExecuteReader(); //執行命令對象,并用odr指向結果集
    if (odr != null) //如果odr不為空
    {
      while (odr.Read()) //調用數據讀取器的Read方法讀取一條數據
      {
        Console.Write("學號:" + odr["sid"].ToString()); //使用odr[string name]方式讀取數據
        Console.WriteLine("/t姓名:" + odr[1].ToString()); //使用odr[int index]方式讀取數據
      }
    }
    odr.Close(); //關閉數據讀取器
    if (oConn.State != ConnectionState.Closed) //如果連接不是關閉狀態則將連接關閉
      oConn.Close();
  }
}

本程序的運行結果圖示如下:

數-據庫操作案例1運行結果

1、Connection對象的使用

對于不同的數據庫連接模式,Connection對象具有不同的類形式:

(1)SqlClient連接模式對應的Connection形式為SqlConnection

(2)OleDb連接模式對應的Connection形式為OleDbConnection

(3)Odbc連接模式對應的Connection形式為OdbcConnection

2、Connection的屬性

Connection的常用屬性有ConnectionString、ConnectionTimeout、DataBase、DataSource和State。

(1)ConnectionString

為連接字符串,用來獲取或設置用于打開數據庫的字符串。

(2)ConnectionTimeout屬性

連接超時時間,用來獲取在嘗試建立連接時終止嘗試,并生成錯誤之前所等待的時間。

(3)DataBase屬性

該屬性用來獲取當前數據庫或鏈接打開后要使用的數據庫名稱。

(4)DataSource屬性

該屬性用來設置要鏈接的數據源實例名稱,如SQL Server的Local服務實例。

(5)State屬性

該屬性是一個枚舉值,用來指示當前數據庫連接所處的狀態。該屬性為只讀值。其取值有以下幾種:

 

屬性值 具體含義
Broken 表示該連接與數據源已中斷。只有當連接打開后再與數據庫失去連接才會導致這種情況。可以關閉處于這種狀態的連接,然后重新打開。
Closed 該鏈接是否處于關閉狀態,如處于關閉狀態,則其值為true
Connecting 指示該連接是否正與數據源連接,如果是則其值為true
Executing 該連接對象正在執行數據庫的操作命令
Fetching 該連接對象正在檢索數據
Open 該連接處于打開狀態

3、Connection對象的方法

不管是SqlConnection、OleDbConnection,還是OdbcConnection都提供了下面兩類方法:

(1)構造方法

Connection對象的構造方法有兩種,一種是不帶參數的構造方法,一種是帶一個字符串類型參數的構造方法。

假設使用OleDb連接模式,則創建Connection的方法為:

OleDbConnection oConn = new OleDbConnection( );
oConn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=E://Lesson//mydb.mdb;";

上面使用的沒帶參數的構造方法創建了一個OleDbConnection的一個實例oConn,并通過oConn的ConnectionString屬性給出連接字符串。或者使用下面的方法:

string connString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=E://Lesson//mydb.mdb;";
OleDbConnection oConn = new OleDbConnection(connString);

上面的例子中首先定義了一個連接字符串connString,在創建OleDbConnection實例oConn時直接將connString作為OleDbConnection構造方法的參數。或者也可以使用下面的方法:

OleDbConnection oConn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=E://Lesson//mydb.mdb;");

即在創建連接實例的同時在構造方法中直接使用連接字符串給出參數的值。

(2)Open方法

Open方法用于打開連接對象,其使用形式如下:

oConn.Open( );

上面的例子中,oConn為創建的連接實例。

(3)Close方法

Close方法用于關閉連接對象,其使用形式如下:

oConn.Close( );

上面的例子中oConn為創建的連接實例。

4、Connection對象的事件

.NET Framework數據提供程序中的Connection對象有兩個事件:InfoMessage和StateChange。

(1)InfoMessage事件

當數據源中有警告或返回信息性消息時,將觸發本事件,即數據源中存在不會引發異常的消息。InfoMessage事件接收InfoMessageEventArgs對象,該對象主要有Source屬性(發送消息的數據提供程序)、Message屬性(消息的描述)、ErrorCode(消息編碼)、Errors對象(包含Count錯誤數量屬性)。

(2)StateChange事件

StateChange事件在Connection對象的狀態發生改變時觸發。可以使用事件的StateChangeEventArgs參數中的OriginalState和CurrentState屬性獲取原狀態信息和當前狀態信息。

下面使用一個例子來說明上面的知識點:

using System;
using System.Data;
using System.Data.OleDb;

class TestConnection
{
  static void Main()
  {
    string connString = "provider=Microsoft.Jet.OleDb.4.0;Data Source=E://Lesson//mydb.mdb;";
    OleDbConnection oConn = new OleDbConnection(connString);
    //預定連接對象狀態發生改變時的處理程序
    oConn.StateChange += new StateChangeEventHandler(oConn_StateChange);
    //預定InfoMessage事件處理程序
    oConn.InfoMessage += new OleDbInfoMessageEventHandler(oConn_InfoMessage);
    oConn.Open();//打開連接
    Console.WriteLine("---------打開連接后連接對象的信息----------");
    Console.WriteLine("連接對象的當前狀態為:" + oConn.State);
    Console.WriteLine("連接字符串為:" + oConn.ConnectionString);
    Console.WriteLine("連接對象的數據源為:" + oConn.DataSource);
    Console.WriteLine("連接對象的數據庫為:" + oConn.Database.ToString());
    Console.WriteLine("連接對象的超時時間為:" + oConn.ConnectionTimeout + "秒");
    Console.WriteLine("連接對象的數據提供者為:" + oConn.Provider);
    Console.WriteLine("連接對象的為數據提供者版本為:" + oConn.ServerVersion);
    if (oConn.State != ConnectionState.Closed) //關閉連接
      oConn.Close();
    Console.WriteLine("----------關閉連接后連接對象的狀態----------");
    Console.WriteLine("/n連接對象的當前狀態為:" + oConn.State);
  }

  //StateChange事件處理程序
  static void oConn_StateChange(object sender, StateChangeEventArgs e)
  {
    Console.WriteLine("----------StateChange----------");
    Console.WriteLine("提示:連接對象狀態發生改變由{0}變為{1}。", e.OriginalState, e.CurrentState);
  }

  //InfoMessage事件處理程序
  static void oConn_InfoMessage(object sender, OleDbInfoMessageEventArgs e)
  {
    Console.WriteLine("----------InfoMessage----------");
    Console.WriteLine("數據源返回的信息:" + e.Message);
    Console.WriteLine("返回信息的對象名稱:" + e.Source);
  }
}

運行結果如下:

數據連接對象運行結果

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲黄在线观看| 国产免费一级片| 国产专区中文字幕| 亚洲高清中文字幕| 中文字幕亚洲二区| 亚洲成av人综合在线观看| 精品国产免费观看一区| 91精品国产91| 精品综合久久久久| 99精品视频99| 影音先锋中文字幕在线观看| 91精品视频国产| 日韩精品福利视频| 欧美三级一区二区三区| 亚洲热在线观看| 中文字幕乱码在线| 国产黄在线看| 日韩精品在线播放| 日本不卡高清视频一区| 国产高清一级片| 久久激情中文| 91精品国产综合久久久久久| 91精品国产免费久久综合| 国产丝袜一区二区| 欧美 日韩 国产在线| 91久久精品在线| 国产一级粉嫩xxxx| 日韩欧美色综合网站| 久久综合久久综合九色| 亚洲精品中文字幕乱码三区不卡| www.久久草| 国产区在线看| 亚洲高清中文字幕| 日韩在线视频精品| 欧美日韩在线精品一区二区三区激情综| 最新中文在线视频| 亚洲综合在线小说| 在线看的av| 欧美日韩国产不卡在线看| www.三级.com| 欧美不卡一区二区| 国产手机精品视频| 国产福利一区二区| 国产黄色一级片| 久久精品久久精品国产大片| 国产高潮久久久| 久久久久久99精品| 日本亚洲欧美天堂免费| 日韩欧美三级| 亚洲国产欧美日韩在线| 欧美日韩久久久| 91精品国产自产在线观看永久∴| 日韩欧美一级在线| 一区二区三区高清在线| 日韩精品视频免费| 精品极品三级久久久久| 中文字幕亚洲免费| 国产三级视频在线播放线观看| 精品久久蜜桃| 日韩字幕在线观看| 国产主播中文字幕| 日韩欧美99| 一区在线播放视频| 欧美三级视频在线| 欧美日韩中文精品| 91精品啪在线观看国产60岁| 国产一区在线观看视频| 国内精品99| 国产偷国产偷亚洲清高网站| 亚洲第一视频在线观看| 国产裸体歌舞团一区二区| 91久久精品网| 亚洲欧洲日产国码av系列天堂| 久久蜜桃精品| 国产一区不卡在线| 日韩欧美国产黄色| 日韩欧美国产网站| 在线观看精品国产| 亚洲三级国产| 91精品网站| 一级片免费在线播放| 99精品视频99| 亚洲第一视频网站| 欧美日韩夫妻久久| 欧美wwww| 国产精品福利视频一区二区三区| 在线国产1区| 日韩欧美综合在线视频| 一区二区在线看| 91精品视频国产| 欧美日韩综合高清一区二区| 中文字幕国产日韩| 伊人国产视频| 一级日韩一级欧美| 国产欧美综合在线| 午夜国产欧美理论在线播放| 日本视频久久久| 久久99精品久久久久婷婷| 久草视频在线看| 国产日韩av一区二区| 欧美日韩在线中文字幕| 久久久99免费| 精品福利一区二区三区| 中文字幕在线播出| 欧美中文字幕在线观看视频| 日韩免费精品| 伊人永久在线| 成人ww免费完整版在线观看| 一级国产黄色片| 国产欧美中文在线| 国产亚洲欧美中文| 日韩国产一区三区| 日韩精品国产欧美| 日韩不卡高清视频| 日韩精品久久久| 欧美日韩夫妻久久| 欧美日韩性视频| 亚洲中午字幕| 99国产一区| 日韩欧美在线精品| 天堂中文在线视频| 国产一区成人| 欧美日韩在线不卡| 欧美日韩在线第一页| 国产第一页在线播放| 国产免费永久在线观看| 在线中文字幕视频| 国产福利一区二区精品秒拍| 深夜福利一区| 中文字幕精品在线视频| 91精品综合久久久久久| 国产香蕉精品视频| 中文字幕人成乱码在线观看| 免费在线亚洲| wwwwww在线观看| 最近高清中文在线字幕在线观看1| 精品日韩欧美| av亚洲免费| 国产丝袜一区二区| 欧美中文字幕视频在线观看| 国产黄色在线免费观看| 亚洲人成欧美中文字幕| 亚洲一区中文字幕在线观看| 国产绿帽一区二区三区| 日韩一级精品| 欧美一级日韩一级| 欧美 亚洲 精品 三区| 日韩精品一页| 日韩视频在线一区| 精品免费视频| 一区二区精品区| 一区二区三区精品久久久| 精品熟女一区二区三区| 久久99精品久久久| 日韩在线观看视频一区| 成人a在线视频免费观看| 国产一区在线不卡| 国产乱码午夜在线视频| 日韩中文字幕在线视频观看| 99中文字幕一区| 日韩亚洲欧美中文高清在线| 日韩高清在线不卡| 综合图区亚洲白拍在线| 欧美亚洲国产免费| 中文字幕国产日韩| 日韩a一区二区| 国产黄色在线观看| 国产一二三视频| 国产一区深夜福利| 韩国一区二区av| 欧美中文字幕视频| 中文字幕亚洲乱码| 中文精品在线观看| 最近中文字幕第一页| 国产在线中文字幕| 999在线视频| 亚洲社区在线| 欧美国产91| 日韩精品a在线观看91| 国产日韩免费| 伊人www22综合色| 日韩三级视频中文字幕| 日韩欧美国产高清| 亚洲成在线观看| 一区二区不卡视频| 国产欧美久久久| av影视在线看| 久久精品国产成人一区二区三区| 一区二区精品| 欧美午夜精品在线| 国产欧美第一页| 天天综合天天| 国产成人精品999在线观看| 久久蜜桃精品| 日韩三级视频在线看| 亚洲日本欧美日韩高观看| 日韩三级精品电影久久久| 中文字幕精品国产| 午夜一区二区三区| 欧美人妻一区二区三区| 国产一卡2卡3卡四卡网站| 九九精品调教| 国产偷国产偷亚洲清高网站 | 国产最顶级的黄色片在线免费观看| 欧美成人精品在线| 91精品国产综合久久久久| 日韩精品综合在线| 亚洲福利精品| 国产在线高清精品| 婷婷中文字幕综合| 欧美乱大交xxxxx另类| 一本久久a久久精品亚洲| 97国产视频| 久久精品国产视频| 中文字幕精品在线| av中文天堂在线| 日韩中文字幕亚洲| 国产成人精品999在线观看| 国产区日韩欧美| 一区二区三区免费看视频| 国产欧美日韩最新| 中文精品在线| 国产黄色小视频| 国产一级网站视频在线| 欧美一卡2卡3卡4卡| 久久精品网站免费观看| 视频一区中文字幕国产| 最近高清中文在线字幕在线观看| 日韩av一区在线| 欧美不卡一二三| 日韩中文字幕视频网| 欧美二三四区| 亚洲福利精品在线| 日韩欧美一级在线播放| 亚洲国产欧美日韩精品| 婷婷精品视频| 亚洲欧美日本国产专区一区| 精品国产99| 国产一区激情在线| 国产真实乱子伦精品视频| 一区在线免费| 欧美不卡一区二区| 亚洲一区在线观看免费| 婷婷中文字幕综合| 中文字幕99| 婷婷久久综合网| 亚洲女人天堂a在线播放| 精品全国在线一区二区| 免费看日韩精品| 亚洲免费中文字幕| 日韩视频在线观看视频| 欧美日韩在线第一页| 91精品国产高清久久久久久| 国产一级片播放| 999精品在线| 欧美日韩综合视频| 精品人妻一区二区免费视频| av免费不卡国产观看| 一区在线播放视频| 国产小视频免费在线观看| 中文在线日韩| 91精品网站| a天堂在线资源| 日韩精品在线免费播放| 欧美久久在线| 欧美成人vr18sexvr| 不卡视频一区二区三区| 中文字幕在线观看欧美| 91精品国产91久久久久久青草| 亚洲大胆人体av| 日韩欧美三级视频| 亚洲大片精品永久免费| 中文字幕一区免费| 亚洲免费精品视频| 国产成人精品三级| 在线国产一级| 天天摸日日摸狠狠添| 欧美日韩亚洲系列| 欧美1区免费| 日韩三级视频在线播放| 九九视频精品免费| 韩国一区二区av| 日韩va亚洲va欧洲va国产| 国产一区二中文字幕在线看| 国产欧美综合在线观看第十页| 日韩在线观看视频一区二区| 欧美日韩亚洲视频| 国产欧美日韩在线看| 国产专区中文字幕| 国产在线二区| 最近中文字幕第一页| 视频一区二区精品的福利| 中文字幕在线观看网址| 欧美日韩高清在线一区| 久久久91精品| 国产在线黄色片| 亚洲专区一区| 日韩欧美在线字幕 | 欧美亚洲国产日韩2020| 欧美亚洲专区| 日韩欧美在线综合| 中文字幕五月天| 欧美日韩亚洲第一| 欧美国产亚洲一区| 中文字幕精品一区二区三区在线| 91精品国产手机| 日韩精品在线中文字幕| 91精品999| 999精品网| 国产黄在线播放| 亚洲热线99精品视频| 亚洲精品中文字幕乱码三区| 欧美日韩亚洲天堂| 中文字幕五月天| 精品一性一色一乱农村| 亚洲综合在线不卡| 51精品免费网站| 国产视频1区2区| 国产在线黄色| 日本黄色一区二区| 国产欧美日韩三级| 精品免费久久久| 91精品国产自产在线丝袜啪| 日韩欧美中文字幕一区| 久久久99精品久久| 亚洲视频日韩| 亚洲高清视频一区| 久久精品国产2020观看福利| 欧美日韩国产亚洲一区| 91精品国产91| 精品视频在线导航| 欧美日韩精品综合| 伊人精品视频| 91精品免费观看| 91精品国产自产在线观看永久∴| 欧美日韩亚洲系列| 日韩免费久久| 国产日韩在线视频| 91精品综合久久久久久| 欧美三级在线播放| 欧美日韩国产一区在线| а√天堂8资源中文在线| 日韩av不卡在线观看| 国产一卡2卡3卡四卡网站| 亚洲福利视频在线| 欧美不卡一二三| 91精品国产综合久久久久久漫画| 在线一区二区三区精品| 日韩视频在线观看视频| 日韩色在线观看| www在线播放| a视频免费看| 中文字幕一区二区三区精品| 亚洲成人7777| 一级一片免费视频| 一区二区三区视频网站| 国产福利第一页| 日韩在线高清视频| 欧美日韩中文字幕日韩欧美| 亚洲成av人片在线| 最近中文字幕在线中文高清版| 日韩精品视频在线观看网址| 蜜臀国产一区| 亚洲欧洲综合另类| 久久精品夜夜夜夜久久| 一区二区三区精品99久久| 精品久久久网| 一区二区三区鲁丝不卡| 久久久99久久| 国产乱国产乱300精品| 欧美日韩国产中文精品字幕自在自线| 亚洲尤物av| 欧美日韩中文国产| 国产一级粉嫩xxxx| 日韩精品首页| 亚洲大片精品永久免费| 欧美色欧美亚洲高清在线视频| 亚洲影视资源网| 精品乱人伦一区二区三区| 国产日韩1区| 久精品在线观看| 国产福利精品导航| www.久久久精品| 国产三级视频网站| 国产日韩亚洲欧美| 日韩国产在线不卡视频| 欧美日韩成人综合| 国产在线观看a| 欧美日韩中文字幕综合视频| 国产乱码在线观看| 精品日韩欧美在线| 日韩欧美国产亚洲| 精品在线一区二区三区| 日韩精品不卡一区二区| 精品久久久三级| 国产高清不卡av| 亚洲日本欧美日韩高观看| 在线黄色国产电影| 欧美1234区| 欧美日韩亚洲不卡|