- 浏览: 367046 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (225)
- java (76)
- English (2)
- office (2)
- 架构设计 (1)
- 人在职场 (3)
- database (21)
- C# (18)
- 向往的院校 (0)
- C++ (1)
- AJAX (1)
- 操作系统 (8)
- eclipse (1)
- Spring (0)
- Linux (1)
- Javascript (6)
- 离散 (0)
- 协议 (1)
- sql server (5)
- sql server (0)
- fdf (0)
- xml (1)
- sql语句里top和distinct一起用 (1)
- 正则表达式 (7)
- 表达 (1)
- ms server (1)
- SWFObject (0)
- 线程 (2)
- Java线程 (0)
- Android & SQLite (0)
- Android (0)
- window.XMLHttpRequest (0)
- DB pool (0)
- tomcat内存溢出设置JAVA_OPTS (1)
- java bcp (1)
- 文件系统转换 (1)
- Microsoft XMLDom (1)
- tree (0)
- C# installer (0)
- 对付http cc攻击 (0)
- Ckeditor (0)
- MyEclipse (0)
- PDM (0)
- PDM OOM (0)
- asp.net (0)
- tomcat (1)
- Tomcat session (1)
- jdk (0)
- Bootstrap (0)
最新评论
-
kenail:
格式太乱了。
转 使用WebService压缩传输的心得 -
存在即为合理:
写得好乱,但是还是谢谢你的驱动
JDBC连接SQL server 2005 驱动 -
guji528:
长见识了,谢谢分享!
TL1协议(正文信息收集整理来源Internet) -
王大人:
Js window confirm()方法及其使用 -
Eastman:
SqlServer附加数据库出错,错误代码5123
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。
一、DataTable简介
(1)构造函数
DataTable() 不带参数初始化DataTable 类的新实例。
DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。
DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable 类的新实例。
(2) 常用属性
CaseSensitive 指示表中的字符串比较是否区分大小写。
ChildRelations 获取此DataTable 的子关系的集合。
Columns 获取属于该表的列的集合。
Constraints 获取由该表维护的约束的集合。
DataSet 获取此表所属的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;
一、DataTable简介
(1)构造函数
DataTable() 不带参数初始化DataTable 类的新实例。
DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。
DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable 类的新实例。
(2) 常用属性
CaseSensitive 指示表中的字符串比较是否区分大小写。
ChildRelations 获取此DataTable 的子关系的集合。
Columns 获取属于该表的列的集合。
Constraints 获取由该表维护的约束的集合。
DataSet 获取此表所属的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;
发表评论
-
使用System.Net.Mail实现邮件群发
2016-06-27 16:05 0本文介绍了使用命名空间System.Net.Mail下的M ... -
windows 8上使用SmtpClient.Send()发送邮件失败的原因分析
2016-06-22 17:05 0更新内容。 最终的问题还是SMTP服务器不正确引起的,而非 ... -
一个大家不常用到,却很有用的页面间传值方法(Context.Handler) .
2015-12-16 16:35 0一、目前在ASP.NET中页面传值共有这么几种方式:1 ... -
如何在asp.net把表单提交到另一页
2015-09-11 14:47 0在ASP.NET中,每一个asp ... -
如何修改windows 2008 IIS 的.net版本[解决]
2015-07-24 11:30 0我要win2008 server r2上 IIS上发布 II ... -
TreeView控件学习
2015-05-29 14:06 0这几天上班没事做,也不好打酱油,学点没接触过的新东西吧,基 ... -
asp:Repeater中实现隔行换色
2015-04-14 10:39 0<asp:Repeater ID="Repe ... -
使用PowerDesigner进行代码生成 .
2015-01-08 10:13 0很多代码生成器都选择了从表结构来生成领域模型,这样的方案有 ... -
Asp.net中GridView使用详解
2014-10-07 04:12 0Asp.net中GridView使用详解 效果图参考:htt ... -
虚拟路径“ascx”映射到另一个应用程序,这是不允许的。
2014-08-31 19:50 0解决办法: 1.进入IIS,找到当前网站的虚拟目录,然后在该 ... -
C# 将图片通过FileUpload空间上传,用实现Image预览
2014-08-27 17:58 0小 订阅 <style type="text ... -
ASP.NET防止SQL注入函数
2014-08-22 05:49 0using System; using System.Text ... -
ASP.NET防止Sql注入的解决方法【转】
2014-08-22 05:44 0ASP.NET防止Sql注入,通常一个一个文件修改不仅麻烦而 ... -
解决MVS的WEBAPP安装部署制作的安装程序不能选择目录的问题
2014-06-16 10:34 0解决Microsoft Visual Studio .NE ... -
VS2008 SP1 如何設定讓 .NET 3.5 SP1 內嵌於 Setup 專案內
2014-06-12 12:55 0這兩天都在弄一個 Windows Setup 專案,希 ... -
DirectoryEntry.Properties遍历IIS属性
2014-06-10 16:21 0一.平台:Windows XP SP3+ IIS 5.1 + ... -
aspx.cs获取html 非服务器控件的值
2014-04-08 12:10 0设置name属性,在后台使用Request[&quo ... -
[转]ASP.NET的事件模型
2014-04-03 10:10 0当我们新建一个ASP.NET的应用程序时,会默认生成一个De ... -
[转]C#代码与javaScript函数的相互调用
2014-03-28 11:16 470C#代码与javaScript函数的相互调用 问: 1.如 ... -
在C#中使用NPOI2.0操作Excel2003和Excel2007
2013-12-23 11:00 0在C#中使用NPOI2.0操作Excel2003和Excel2 ...
相关推荐
DataTable.Compute方法使用实例 DataTable.Compute强大的功能 C#中表达式的计算 详细说明:http://www.our-code.com/news/2010718/n458047.html
c#datatable的使用,一些方法,叫你详细的熟悉了解DataTable
用C#实现对DataTable的JOIN,GROUP BY,FILTER,UNIONALL,DISTINCT
主要为大家详细介绍了C# DataTable的使用方法,感兴趣的小伙伴们可以参考一下
C# DataTable 的常见用法: (1)新建数据表。 DataTable dt=new DataTable();如果带个String参数,此参数表示表名。 (2)向表添加列。 //数据库的Nvarchar等类型,在此可用String兼容。可不指明数据类型 ...
DATATable数据控件经典使用,可以动态根据数据的多少生成表格,DATATable 经典分页处理,Acess数据库中时间格式处理,及第三方时间控间的使用。
本文给大家讲解的是如何使用C#将DataTable数据源转化为List泛型集合(已知T类型) 的方法和示例,有需要的小伙伴可以参考下
一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。 DataTable(string tableName, string tableNamespace) ...
一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。 DataTable(string tableName, string ...
一般来说,在C#中要对Datatable排序,可使用DefaultView的Sort方法。需要先获取Datatable的DefaultView,然后设置得到的Dataview的sort属性,最后用视图的ToTable方法将排好序的dataview导出为Datatable。 代码如下...
本文实例讲述了C# DataTable中Compute方法用法。分享给大家供大家参考,具体如下: Compute函数的参数就两个:Expression,和Filter。 Expresstion是计算表达式,关于Expression的详细内容请看这里: ...
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 DataTable() ...
主要为大家详细介绍了C#使用Datatable导出Excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例讲述了C#实现将DataTable内容输出到Excel表格的方法。分享给大家供大家参考。具体如下: 1.关于本文 本文描述了一个函数(SaveToExcel),该函数可以将DataTable数据内的数据输出到Excel表格中 2.相关说明 ...
使用C#利用Aspose.Cells.dll导出Excel. 优化了之前上传的导出Excel方法,希望能够对大家有帮助 大家也可以根据自己需求修改导出Excel方法
本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法、DataAdapter 更新数据源以及使用sql语句更新。分享给大家供大家参考之用。具体方法如下: 一、自动生成命令的条件 ...
DataTable 用法1、ADO.NET相关对象一句话介绍 2、如何更新数据到Database