使用ADO.NET訪問數據庫查詢和操作數據


一,ADO.ENT的主要組件

提供兩個組件,用來訪問和處理數據:.NET Framework 數據程序和DataSet(數據集)

.NET Framework:是專門為數據處理及快速地只進,只讀訪問數據而設計的組件。使用它可以連接數據源,執行命令和檢索結果,直接對數據進行操作 。

DataSet:是專門為獨立於任何數據源的數據訪問而設計的。使用它,可以不必直接和數據源打交道,大批量地操作數據,也可以將數據綁定在控件上 。

 

            .NET Framework 數據提供程序

.NET Framework 用於SQL Server的數據提供程序:提供對Microsoft  SQL  Server數據的訪問。使用System.Data.SqlClient 命名空間

.NET Framework  用於OLE DB  的數據提供程序:提供對OLE DB  公開的數據源中數據的訪問。使用System.Data.OleDb命名空間

.NET Framework 用於ODBC 的數據提供程序 :提供使用ODBC  公開的數據源中數據的訪問。使用System.Data.Odbc命名空間

 

 

一、建立數據庫連接

連接字符串的格式:"Server=服務器名或服務器IP地址;DataBase=數據庫名稱;User ID=用戶名;Pwd=密碼"

使用Connection對象連接SQL Server數據庫的方法如下:

using System.Data.SqlClient;引用namespace

......

SqlConnection con=new SqlConnection(連接字符串);

con.Open();

......

//數據庫相關操作

......

con.Close();

 

異常處理:

語法:

      try{

      //包含可能出現的異常代碼!

      }catch(處理異常的類型){

        //處理異常的代碼

      }finally{

      }

        finally:無論是否發生異常,出現在finally塊中的語句都會執行。

 

操作數據

一、SqlCommand  

  表示要對 SQL Server 數據庫執行的一個 Transact-SQL 語句或存儲過程。 此類不能被繼承。Command類可以執行任何類型的SQL語句。

 

  我們在使用其執行SQL語句的時候,必須首先聲明其對象,常用的三種:

  SqlCommand()           初始化 SqlCommand 類的新實例。

   SqlCommand(String)   用查詢文本初始化 SqlCommand 類的新實例。

   SqlCommand(String,SqlConnection)  初始化具有查詢文本和 SqlConnection 的 SqlCommand 類的新實例。

【注】SqlConnection 的使用將不單獨講,因為在操作數據庫的時候都會用到。

 

   CommandText    獲取或設置要對數據源執行的 Transact-SQL 語句、表名或存儲過程。

   CommandType   獲取或設置一個值,該值指示如何解釋 CommandText 屬性。

   Connection         獲取或設置 SqlCommand 的此實例使用的 SqlConnection。

   Parameters         獲取 SqlParameterCollection(sql語句中需要輸入的闡述集合)。

 

   ExecuteNonQuery    執行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 語句等命令並返回受影響的行數。 

   ExecuteReader()     將 CommandText 發送到 Connection 並生成一個 SqlDataReader。

   ExecuteReader(CommandBehavior)  將 CommandText 發送到 Connection,並使用 CommandBehavior 值之一生成一個 SqlDataReader。

   ExecuteScalar         執行查詢,並返回查詢所返回的結果集中第一行的第一列。 忽略其他列或行。

  Dispose()                釋放由 Component 使用的所有資源。

 

二、SqlDataReader 

  提供一種從 SQL Server 數據庫讀取行的只進流的方式。 此類不能被繼承。只能向下順序執行,一次讀取一條記錄,所以需要隨時保存的記錄。

 

   IsClosed     檢索一個布爾值,該值指示是否已關閉指定的 SqlDataReader 實例。

  常用方法

  Read()                        使 SqlDataReader 前進到下一條記錄。

  Close                          關閉 SqlDataReader 對象。 

    Dispose()                    釋放 DbDataReader 類的當前實例所使用的所有資源。 

    IsCommandBehavior   確定指定的 CommandBehavior 是否與 SqlDataReader 的對應項匹配。

    IsDBNull                      獲取一個值,用於指示列中是否包含不存在的或缺少的值。

 

對數據庫中的數據增刪改(使用Command對象的ExecuteNonQuery()方法)

ExecuteNonQuery()方法用於執行指定的SQL語句,如:update、insert、delete,它返回的是受SQL語句影響的行數

使用Command對象的ExecuteNonQuery()方法的步驟如下:

1.  創建Connection對象

2.  定義要執行的SQL語句

3.  創建Command對象

4.  執行ExecuteNonQuery()方法  注意:完成操作后不要忘記關閉conn對象。

5.  根據返回結果,進行后續處理,如返回值小於或等於0說明沒有記錄影響。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM