首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

ADO.NET 核心物件模型深度解析:Connection、Command、DataAdapter、DataTable 與 DataSet

     編輯:關於.NET

ADO.NET 提供豐富的物件模型操作 SQL Server,核心類別皆位於 System.Data.SqlClient 命名空間。本文系統整理五大核心物件的用法與適用情境。

一、SqlConnection:資料庫連線管理

連線字串常見兩種認證模式:

  • Windows 整合驗證:Integrated Security=SSPI;Database=MyDatabase.mdf;Server=localhost;
  • SQL Server 驗證:server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf

建立連線:SqlConnection conn = new SqlConnection(connectionString);

二、SqlCommand:執行 SQL 指令

支援「無連接」與「保持連接」兩種操作模式。保持連接模式標準流程:

  1. 建立 SqlConnection 實例
  2. 建立 SqlCommand 實例
  3. 開啟連線
  4. 執行命令
  5. 關閉連線

三大核心執行方法:

  • ExecuteNonQuery():執行 INSERT/UPDATE/DELETE,回傳影響筆數
  • ExecuteReader():回傳 SqlDataReader,提供唯讀、順向、快速的資料流讀取
  • ExecuteScalar():回傳單一值(如 COUNT、SUM 統計結果)

三、SqlDataAdapter:離線資料集橋接器

透過離線方式實現資料庫與本地 DataSet 互動:

  1. 建立連線與 SqlDataAdapter 實例(提供 SELECT 語句)
  2. 建立 DataSet 實例
  3. 呼叫 Fill() 將資料填入 DataSet
  4. 繫結至 DataGridView 等控制項顯示/編輯
  5. 呼叫 Update() 回寫資料庫

SqlCommandBuilder 可自動根據 SELECT 指令產生 INSERT/UPDATE/DELETE 命令。

四、DataTable:記憶體內資料表

代表記憶體中的資料表,支援斷線操作。建立方式:

  • new DataTable()
  • DataSet.Tables.Add("TableName")

核心操作:

  • 透過 Columns.Add() 新增欄位(DataColumn)
  • 透過 PrimaryKey 陣列設定主鍵
  • 用 NewRow() 建立 DataRow,填值後 Rows.Add() 加入
  • DataAdapter.Fill(dataTable) 直接從資料庫填充

五、DataSet:記憶體內關聯式資料容器

  • 一般型:new DataSet(),動態定義結構
  • 強型別:透過精靈產生,繼承 DataSet,提供編譯期型別檢查與 IntelliSense

使用 SqlDataAdapter.Fill(dataSet, "TableName") 填充資料,支援多資料表、關聯、條件約束等關聯式模型功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved