通過ADO.NET操作資料庫

來源:互聯網
上載者:User

資料庫操作主要是執行命令和讀取資料

 

1.串連

 

要訪問資料庫,首先要與資料庫建立串連,在ADO.NET中是通過Connection對象與資料庫建立串連的

 

例如:建立與SQLServer伺服器上Mycharge資料庫連接的代碼:

 

Dim cnStr as string="Password=123456;Persist Security Info=True;User ID=sa;"&_"InitialCatalog=Mycharge;Data Source=192.168.24.60"Dim cn asSqlConnection =new SqlConnection ()cn.ConnectionString=cnStr 'ConnectionString 是Connection對象最重要的一個屬性,它用來指定與資料庫建立串連時使用的串連串cn.Open ()'開啟串連

既然代碼中提到了串連串,那我們就來說說串連串,平常大家在建立與資料庫連接時都要寫那一大串聯接串,其實書寫起來也不麻煩(前提你比較熟悉而且細心),不過錯一點也連不上啊,這時候我們可以選擇下面的這種方法來擷取串連串


1.建立一個文字檔,將其副檔名改為udl

2.雙擊你剛建好的檔案,將開啟“資料庫連接屬性”對話方塊

3.在“提供者”選項卡選擇某個提供者,這裡我們選的是SQL Server,單擊下一步按鈕


4.在“串連”選項卡中輸入資料庫名稱,使用者名稱,密碼等資訊,單擊“測試連接”按鈕查看串連是否成功


5.如果成功的話,關閉此對話方塊,使用記事本再次開啟該檔案,其中就包含你想要的資訊了

    

    注意:由於SQLServer對象是專門針對SQLServer資料庫的,它的串連串中不允許指定Provider屬性,所以你不要激
動的把上面所有的資訊都複製下來,那樣是不對的,而要將Provider=SQLOLEDB.1去掉,只複製其後的內容就足夠啦!對於其他資料提供者的Connection對象,如OleDbConnection對象就不存在這個問題

 

2.命令

 

ADO.NET訪問資料的基本方式

  1. 使用資料集
  2. 直接對資料庫進行操作

 

如何使用資料集訪問?


1.填充資料集

將外部資料來源資料載入到資料集中(使用適配器)

 

什麼是適配器

 適配器就好像是一座橋樑,用於資料來源和資料集之間減緩資料,

使用適配器可以對資料進行增,刪,改,查,分別為:


  1. SelectCommand:指定某命令對象以便從資料存放區區檢索行
  2. InsertCommand:指定某命令對象以便向資料存放區區插入行
  3. UpdateCommand:指定某命令對象以便修改資料存放區區中的行
  4. DeleteCommand:指定某命苦對象以便從資料存放區區刪除行

 

2.資料集更新


  1. 更新資料集中的資料(一般為增,刪,改)
  2. 將更新後的資料集同寫到資料來源中,也就是說,更新資料集的過程不會同時將更改直接寫入資料來源,因為資料來源是中斷連線的,必須通過代碼顯式執行一下。具體做法是調用資料配接器的Update方法

      註:在某些情況下是不能使用資料集的。例如想要建立表之類的資料庫元素,則必須使用命令對象

 

如何直接對資料庫進行操作?

 

      通過Command(命令)對象執行SQL語句或預存程序,如果執行的結果返回的是一個記錄集,則可以使用DataReader(資料讀取器)對象讀取資料。.NET針對不同的提供者建立了相應的Command對象,例如:

  • OleDbCommand:用於OLE DB提供者
  • SQLCommand:SQL Server7.0或更高版本
  • ODBCCommand:ODBC資料來源的Command對象

使用command對象的步驟

1.構造命令對象


下面是一段構造cmd命令對象的代碼。它使用的連線物件為cn。所要執行的命令是從Information表中選擇所有的資料

Dim cnStr as string="Password=123456;Persist Security Info=True;User ID=sa;"&_"InitialCatalog=Mycharge;Data Source=192.168.24.60"Dim cn asSqlConnection =new SqlConnection ()cn.ConnectionString=cnStr 'ConnectionString 是Connection對象最重要的一個屬性,它用來指定與資料庫建立串連時使用的串連串cn.Open ()Dim sql as string="SELECT*FROM Categories"Dim cmd asSqlCommand =New SqlCommand ()cmd .Connection =cncmd.CommandText =Sql 

2.執行命令

 

命令對象所提供的用於執行命令的方法有很多,具體使用哪個方法取決於命令的執行結果返回什麼樣的資料

 

  • Cancel:取消命令的執行
  • ExecuteNonQuery:執行非查詢類SQL語句並返回受影響的行數
  • ExecuteReader:執行查詢,將查詢結果返回到DataReader中
  • ExecuteScalar:執行查詢,並返回查詢所返回的結果集中第一行的第一列,忽略額外的列或行
  • ExecuteXmlReader:執行查詢,將查詢結果返回到一個XmlReader對象中

 

3.讀取資料

   

  下面代碼是從表Information中讀取資料,並將資料列ID和Name的所有資料輸出到控制台

Dim cnStr as string="Password=123456;Persist Security Info=True;User ID=sa;"&_"InitialCatalog=Mycharge;Data Source=192.168.24.60"Dim cn asSqlConnection =new SqlConnection ()cn.ConnectionString=cnStr 'ConnectionString 是Connection對象最重要的一個屬性,它用來指定與資料庫建立串連時使用的串連串cn.Open ()Dim sql as string="SELECT*FROM Categories"Dim cmd asSqlCommand =New SqlCommand (sql ,cn )Dim dr asSqlDataReader =cmd.ExecuteReader()while (dr.reader())     Dim id as string=dr("ID").ToString()     Dim name as string=dr("Name").ToString()      Console.WriteLine("編號:{0}姓名:{1}" ,id ,name)End whiledr.Close()cn.Close()

註:

  1. DateReader是一個只向前的串連游標,即只能沿一個方向遍曆記錄,在此過程中資料庫連接要一直保持開啟狀態,否則將不能通過DataReader讀取資料
  1. 在完成資料讀取後,需要調用Close()方法關閉DataReader對象,

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.