1. 程式人生 > >C#_從DataTable中檢索信息

C#_從DataTable中檢索信息

int 說明 () [] font blog where 所有 字符

C#_從DataTable中檢索信息

存在於內存中的虛擬表DataTable,綁定在數據顯示控件後,如果想在再檢索其中某些信息,可以利用DataTable.Select方法進行檢索,避免了重復的讀取數據庫。Select方法共有4個重載方法。

先創建一個DataTable:

DataTable dt = new DataTable("Student");//DataTable對象,表名時Student
//開始增加列頭
dt.Columns.Add("編號",typeof(Int32));
dt.Columns.Add("姓名",typeof(String));
dt.Columns.Add("成績",typeof(String));
//開始增加行數據
DataRow row = dt.NewRow();
row[0] = 1;
row[1] = "張";
row[2] = "98";
dt.Rows.Add(row);//向DataTable增加第一行記錄
row = dt.NewRow();
row[0] = 2;
row[1] = "李";
row[2] = "78";
dt.Rows.Add(row);//向DataTable增加第二行記錄
//設置DataTable的主鍵
dt.PrimaryKey = new DataColumn[]
{
  dt.Columns[0]
};

利用DataTable.Select()獲取所有DataRow行對象數組:

DataRow[] rows = dt.Select();
/*row現在就相當一個二維數組
* [1],[張],[98]
* [2],[李],[78]
* 獲取數據和二維數組的取值是相似的
*/
string name1 = rows[0][1].ToString();//name1="張"
string name2 = rows[1][1].ToString();//name2="李"

利用DataTable.Select(String)獲取指定檢索條件的DataRow行對象數組:

DataRow[] rows = dt.Select("姓名=‘張‘");
// [1],[張],[98]
string id = rows[0][0].ToString();//id=1
string name = rows[0][1].ToString();//name1 = "張"
string score = rows[0][2].ToString();//score="98"

說明:這裏Select方法中的檢索字符串相當於T-SQL中的where關鍵字後的檢索字符串,語法是一樣的。

DataRow[] rows1 = dt.Select("姓名=‘張‘ and 編號=1");
DataRow[] rows2 = dt.Select("姓名=‘張‘ or 成績>‘60‘");

C#_從DataTable中檢索信息