標籤:擷取 重複 [] height 維數 方法 取資料 wro 說明
存在於記憶體中的虛擬表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=1string 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中檢索資訊