C#中datatable的用法有哪些

小億
152
2023-08-04 09:38:34
欄目: 編程語言

在C#中,DataTable是一個(gè)表示內(nèi)存中數(shù)據(jù)表的對(duì)象,可以用于處理和操作數(shù)據(jù)。以下是一些使用DataTable的常見用法:

  1. 創(chuàng)建DataTable
  • 使用new關(guān)鍵字創(chuàng)建一個(gè)新的DataTable對(duì)象:DataTable dt = new DataTable();

  • 使用數(shù)據(jù)源創(chuàng)建DataTable:DataTable dt = new DataTable(dataTable);

  1. 添加列
  • 使用Add方法添加列:dt.Columns.Add(“ColumnName”, typeof(DataType));

  • 使用DataColumn對(duì)象添加列:DataColumn column = new DataColumn(“ColumnName”, typeof(DataType));

dt.Columns.Add(column);

  1. 添加行
  • 使用NewRow方法創(chuàng)建一個(gè)新的DataRow對(duì)象:DataRow dr = dt.NewRow();

  • 設(shè)置DataRow的值:dr[“ColumnName”] = value;

  • 將DataRow添加到DataTable:dt.Rows.Add(dr);

  1. 訪問和修改數(shù)據(jù)
  • 使用索引訪問單元格的值:dt.Rows[rowIndex][columnIndex] = value;

  • 使用列名訪問單元格的值:dt.Rows[rowIndex][“ColumnName”] = value;

  • 使用foreach循環(huán)遍歷DataTable中的每一行和列:foreach(DataRow row in dt.Rows) { … }

  1. 數(shù)據(jù)篩選和排序
  • 使用Select方法對(duì)DataTable進(jìn)行篩選:DataRow[] rows = dt.Select(“FilterExpression”);

  • 使用Sort方法對(duì)DataTable進(jìn)行排序:dt.DefaultView.Sort = “ColumnName ASC/DESC”;

  1. 進(jìn)行數(shù)據(jù)計(jì)算和聚合
  • 使用Compute方法進(jìn)行數(shù)據(jù)計(jì)算:object result = dt.Compute(“Expression”, “FilterExpression”);

  • 使用GroupBy方法進(jìn)行數(shù)據(jù)分組:DataTable groupedTable = dt.AsEnumerable().GroupBy(row => row.Field(“ColumnName”)).CopyToDataTable();

  1. 數(shù)據(jù)讀寫
  • 通過DataAdapter和DataReader從數(shù)據(jù)庫中讀取數(shù)據(jù)到DataTable:DataAdapter.Fill(DataTable);

  • 將DataTable數(shù)據(jù)寫入到數(shù)據(jù)庫中:DataAdapter.Update(DataTable);

  1. 序列化和反序列化
  • 將DataTable序列化為XML字符串:string xml = dt.GetXml();

  • 將XML字符串反序列化為DataTable:dt.ReadXml(string xml);

這些只是DataTable的一些常見用法,還有很多其他的方法和屬性可供使用,具體用法可以參考官方文檔或使用在線資源進(jìn)行深入學(xué)習(xí)。

0