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

C# ADO.NET 數據操作總結(三):DataReader 完整用法

     編輯:關於C語言

`SqlDataReader` 提供高性能、只進、只讀的數據流訪問,是大數據量讀取的首選。

1. 基本遍歷

while (reader.Read()) {
    Console.WriteLine($"{reader.GetInt32(0)}\t{reader.GetString(1)}");
}
reader.Close();

2. 索引器訪問

  • 序數:`reader[0].ToString()`
  • 列名:`reader["code"].ToString()`

3. 強類型讀取器

方法返回類型
GetCharchar
GetDateTimeDateTime
GetInt16short
GetStringstring
GetInt32int
GetDoubledouble
GetDecimaldecimal

4. 獲取列元數據

  • `FieldCount`:列數
  • `GetFieldType(i)`:CLR 類型
  • `GetDataTypeName(i)`:資料庫類型名
  • `GetName(i)`:列名
  • `GetOrdinal(name)`:列序數

5. 獲取 Schema 表

DataTable schema = reader.GetSchemaTable();
// 包含 ColumnName, DataType, ColumnSize, AllowDBNull 等詳細信息

6. 多結果集處理

do {
    while (reader.Read()) { /* 處理當前結果集 */ }
} while (reader.NextResult());

最佳實踐

  • 盡早 `Close()`/`Dispose()` 釋放連接
  • 使用 `using` 確保異常時也能釋放
  • 大對象列(BLOB/TEXT)考慮 `GetBytes`/`GetChars` 分塊讀取
  • 配合 `CommandBehavior.CloseConnection` 自動關閉連接
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved