亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# DataTable的詳細用法分享

2020-01-24 03:05:33
字體:
來源:轉載
供稿:網友

一、DataTable簡介   

(1)構造函數
DataTable()   不帶參數初始化DataTable 類的新實例。
DataTable(string tableName)  用指定的表名初始化DataTable 類的新實例。
DataTable(string tableName, string tableNamespace) 用指定的表名和命名空間初始化DataTable 類的新實例。
(2) 常用屬性
CaseSensitive    指示表中的字符串比較是否區分大小寫。
ChildRelations   獲取此DataTable 的子關系的集合。
Columns             獲取屬于該表的列的集合。
Constraints        獲取由該表維護的約束的集合。
DataSet               獲取此表所屬的DataSet。DataSet相關信息,可見我以前的一篇文章《數據訪問(2)-DataSet》
DefaultView       獲取可能包括篩選視圖或游標位置的表的自定義視圖。
HasErrors          獲取一個值,該值指示該表所屬的DataSet 的任何表的任何行中是否有錯誤。
MinimumCapacity  獲取或設置該表最初的起始大小。該表中行的最初起始大小。默認值為 50。
Rows                  獲取屬于該表的行的集合。
TableName       獲取或設置DataTable 的名稱。

(3)常用方法
AcceptChanges()   提交自上次調用AcceptChanges() 以來對該表進行的所有更改。
BeginInit()         開始初始化在窗體上使用或由另一個組件使用的DataTable。初始化發生在運行時。

Clear()               清除所有數據的DataTable。
Clone()              克隆DataTable 的結構,包括所有DataTable 架構和約束。
EndInit()            結束在窗體上使用或由另一個組件使用的DataTable 的初始化。初始化發生在運行時。
ImportRow(DataRow row)    將DataRow 復制到DataTable 中,保留任何屬性設置以及初始值和當前值。
Merge(DataTable table)  將指定的DataTable 與當前的DataTable 合并。
NewRow()         創建與該表具有相同架構的新DataRow。

二、DataTable使用技巧

(1)Create a DataTable

復制代碼 代碼如下:

DataTable dt = new DataTable("Table_AX");

(2)Add columns for DataTable
復制代碼 代碼如下:

//Method 1
dt.Columns.Add("column0", System.Type.GetType("System.String"));
//Method 2
DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
dt.Columns.Add(dc);

(3)Add rows for DataTable
復制代碼 代碼如下:

//Initialize the row
DataRow dr = dt.NewRow();
dr["column0"] = "AX";
dr["column1"] = true;
dt.Rows.Add(dr);
//Doesn't initialize the row
DataRow dr1 = dt.NewRow();
dt.Rows.Add(dr1); 

(4)Select row
復制代碼 代碼如下:

//Search the second row 如果沒有賦值,則用is null來select
DataRow[] drs = dt.Select("column1 is null");
DataRow[] drss = dt.Select("column0 = 'AX'");

(5)Copy DataTable include data
復制代碼 代碼如下:

DataTable dtNew = dt.Copy();

(6)Copy DataTable only scheme
復制代碼 代碼如下:

DataTable dtOnlyScheme = dt.Clone();

(7)Operate one row
復制代碼 代碼如下:

//對dt的操作
//Method 1
DataRow drOperate = dt.Rows[0];
drOperate["column0"] = "AXzhz";
drOperate["column1"] = false;
//Method 2
drOperate[0] = "AXzhz";
drOperate[1] = false;
//Method 3
dt.Rows[0]["column0"] = "AXzhz";
dt.Rows[0]["column1"] = false;
//Method 4
dt.Rows[0][0] = "AXzhz";
dt.Rows[0][1] = false;

(8)Evaluate another DataTable's row to current Datatable
復制代碼 代碼如下:

dtOnlyScheme.Rows.Add(dt.Rows[0].ItemArray);

(9)Convert to string
復制代碼 代碼如下:

System.IO.StringWriter sw = new System.IO.StringWriter();
System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
dt.WriteXml(xw);
string s = sw.ToString();

(10)Filter DataTable
復制代碼 代碼如下:

dt.DefaultView.RowFilter = "column1 <> true";
dt.DefaultView.RowFilter = "column1 = true";

(11)Sort row
復制代碼 代碼如下:

dt.DefaultView.Sort = "ID ,Name ASC";
dt=dt.DefaultView.ToTable();

(12)Bind DataTable
復制代碼 代碼如下:

//綁定的其實是DefaultView
gvTestDataTable.DataSource = dt;
gvTestDataTable.DataBind();

(13)judge the DataTable's Column name is a string
復制代碼 代碼如下:

//判斷一個字符串是否為DataTable的列名
dtInfo.Columns.Contains("AX");

(14)DataTable convert to XML and XML convert to DataTable
復制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
DataTable dt_AX = new DataTable();
//dt_AX.Columns.Add("Sex", typeof(System.Boolean));
//DataRow dr = dt_AX.NewRow();
//dr["Sex"] = true;
//dt_AX.Rows.Add(dr);
string xml=ConvertBetweenDataTableAndXML_AX(dt_AX);
DataTable dt = ConvertBetweenDataTableAndXML_AX(xml);
}
public string ConvertBetweenDataTableAndXML_AX(DataTable dtNeedCoveret)
{
System.IO.TextWriter tw = new System.IO.StringWriter();
//if TableName is empty, WriteXml() will throw Exception.                

dtNeedCoveret.TableName=dtNeedCoveret.TableName.Length==0?"Table_AX":dtNeedCoveret.TableName;
dtNeedCoveret.WriteXml(tw);
dtNeedCoveret.WriteXmlSchema(tw);
return tw.ToString();
}
public DataTable ConvertBetweenDataTableAndXML_AX(string xml)
{
System.IO.TextReader trDataTable = new System.IO.StringReader(xml.Substring(0, xml.IndexOf("<?xml")));
System.IO.TextReader trSchema = new System.IO.StringReader(xml.Substring(xml.IndexOf("<?xml")));
DataTable dtReturn = new DataTable();
dtReturn.ReadXmlSchema(trSchema);
dtReturn.ReadXml(trDataTable);
return dtReturn;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线拍揄自揄视频不卡99| 国产日韩在线播放| 91精品视频免费观看| 精品福利视频导航| 精品视频www| 亚洲精品二三区| 亚洲欧美三级在线| 国产suv精品一区二区| 91热福利电影| 国产欧美精品在线播放| xxxx欧美18另类的高清| 538国产精品视频一区二区| www.国产精品一二区| 亚洲2020天天堂在线观看| 98视频在线噜噜噜国产| 国产成人亚洲综合| 久久久久久久久久久久久久久久久久av| 欧美一级淫片videoshd| 久久这里只有精品视频首页| 欧美一级片在线播放| 久久久久亚洲精品| 在线视频一区二区| 一区三区二区视频| 久久天天躁狠狠躁老女人| 91亚洲精品久久久久久久久久久久| 欧美最猛性xxxxx亚洲精品| 国产精品三级美女白浆呻吟| 欧美黄色成人网| 亚洲激情国产精品| 欧美日韩亚洲视频一区| 日本精品视频在线观看| 国产精品久久久久久影视| 色悠悠久久88| 九九热99久久久国产盗摄| 国产一区二区欧美日韩| 亚洲成年人在线播放| 久久久久久久影院| 国产精品色婷婷视频| 亚洲成人av片| 91精品国产高清自在线看超| 亚洲精品在线不卡| 欧美黑人一区二区三区| 中文字幕在线视频日韩| 超碰97人人做人人爱少妇| 精品国偷自产在线| 在线观看日韩视频| 国产精品午夜视频| 欧美大片在线免费观看| 亚洲成人aaa| 日韩av电影在线网| 日本久久精品视频| 久久久久久免费精品| 亚洲精品久久久久国产| 亚洲精品成人久久久| 国产视频精品xxxx| 在线观看欧美日韩| 国产婷婷成人久久av免费高清| 国产成人综合精品在线| 成人久久久久久久| 久久久久亚洲精品| 亚洲欧美制服综合另类| 尤物yw午夜国产精品视频明星| 日韩av免费看| 亚洲第一视频在线观看| 精品露脸国产偷人在视频| 久久亚洲精品成人| 成人国内精品久久久久一区| 亚洲欧美日韩精品久久亚洲区| 欧美成人中文字幕在线| 55夜色66夜色国产精品视频| 成人观看高清在线观看免费| 久久中文字幕在线视频| 亚洲欧美在线一区| 国产精品久久久久久久电影| 欧美一级视频免费在线观看| 在线观看国产精品日韩av| 国产v综合ⅴ日韩v欧美大片| 国产精品久久婷婷六月丁香| 中文一区二区视频| 日韩av一区二区在线观看| 精品国产一区二区三区久久狼黑人| 中文字幕不卡av| 91久久嫩草影院一区二区| 91久久夜色精品国产网站| 91国在线精品国内播放| 成人欧美一区二区三区在线湿哒哒| 日本精品视频在线播放| 午夜精品久久久99热福利| 91沈先生在线观看| 国产精品自拍网| 日韩欧美a级成人黄色| 欧美电影免费播放| 久久久av免费| 亚洲国模精品一区| 国产亚洲精品美女| 在线国产精品播放| 国产精品99久久久久久白浆小说| 精品亚洲一区二区三区在线播放| 精品国产91久久久久久老师| 日韩免费av在线| 欧美一性一乱一交一视频| 欧美孕妇孕交黑巨大网站| 国产精品午夜视频| 欧美性xxxxx| 亚洲激情成人网| 色悠悠久久久久| 97精品一区二区三区| 欧美久久精品午夜青青大伊人| 欧美午夜精品久久久久久人妖| 97香蕉超级碰碰久久免费的优势| 粉嫩老牛aⅴ一区二区三区| 2021久久精品国产99国产精品| 成人性生交xxxxx网站| 91久热免费在线视频| 成人免费在线视频网站| 日韩免费在线观看视频| 日韩成人av网址| 欧美午夜视频一区二区| 欧美激情亚洲激情| 国产精品直播网红| 热久久99这里有精品| 国产精品久久久久91| 高跟丝袜欧美一区| 日韩精品在线观| 国产精品777| 日韩av免费在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲www在线观看| 97在线视频免费看| 一区二区欧美在线| 亚洲女性裸体视频| 日韩精品免费在线视频| 久久久久久久91| 欧美国产日韩一区二区| 久久久久久久成人| 中文字幕免费精品一区| 久久久精品在线观看| 成人久久一区二区三区| 亚洲精品一区二区久| 亚洲丝袜一区在线| 欧美日韩视频免费播放| 91在线观看免费| 亚洲人成网站免费播放| 在线视频亚洲欧美| 午夜精品视频在线| 亚洲成人精品久久| 国产亚洲精品综合一区91| 欧美激情一区二区三级高清视频| 精品激情国产视频| 日韩在线视频播放| 欧洲成人在线观看| 久久欧美在线电影| 欧美激情在线一区| 性色av一区二区咪爱| 91久久国产精品91久久性色| 成人黄色片在线| 欧洲美女7788成人免费视频| 欧美激情精品久久久久久| 亚洲国产欧美一区二区三区同亚洲| 欧美亚洲另类在线| 久久久国产精品免费| 亚洲第一色在线| 成人网在线观看| 色青青草原桃花久久综合|