知识大全 ASP.NET 2.0中DataTable小兵变大将
Posted 知
篇首语:恢弘志士之气,不宜妄自菲薄。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET 2.0中DataTable小兵变大将相关的知识,希望对你有一定的参考价值。
ASP.NET 2.0中DataTable小兵变大将 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
我们先看一段WEB Service的代码 [WebMethod] public DataTable GetInfo() OleDbConnection nwindConn = new OleDbConnection( Provider=Microsoft Jet OLEDB ; + Data Source=D:\\\\Northwind\\\\northwind mdb; ); OleDbCommand selectCMD = new OleDbCommand( SELECT CustomerID CompanyName FROM Customers nwindConn); selectCMD CommandTimeout = ; OleDbDataAdapter custDA = new OleDbDataAdapter(); custDA SelectCommand = selectCMD; DataSet custDS = new DataSet(); custDA Fill(custDS Customers ); return custDS Tables[ ]; 中 这是典型的一个错误 中 WEB Service 的返回或者输入参数不能是 DataTable 这是一个众人皆知的知识点 原因就是 DataTable 不象DataSet那样支持序列化 中 我们解决这个问题的方法就是使用DataSet 但是使用DataSet 的时候 经常会有一种杀鸡用牛刀的感觉 附 中使用DataTable作为WEB Service 返回值会报以下异常 类型 System ComponentModel ISite 的成员 System ComponentModel MarshalByValueComponent Site 是接口 因此无法将其序列化 中 以上同样的代码 则没有任何问题了 原因是 中 DataTable实现了序列化 反序列 在VS Beta 的文档中 我们可以看到 中 DataTable实现了以下接口 Explicit Interface Implementations System ComponentModel IListSource get_ContainsListCollection System ComponentModel IListSource GetList System Xml Serialization IXmlSerializable GetSchema System Xml Serialization IXmlSerializable ReadXml System Xml Serialization IXmlSerializable WriteXml 而在 中 DataTable 只实现了一个接口 Explicit Interface Implementations System ComponentModel IListSource ContainsListCollection 把DataSet中的一些功能移到 DataTable中 中还有 Merge 方法 即合并数个数据集 DataTable的代码合并参看下面代码 private static void DemonstrateMergeTable() DataTable table = new DataTable( Items ); DataColumn column = new DataColumn( id typeof(System Int )); DataColumn column = new DataColumn( item typeof(System Int )); table Columns Add(column ); table Columns Add(column ); table PrimaryKey = new DataColumn[] column ; table RowChanged += new System Data DataRowChangeEventHandler(Row_Changed); DataRow row; for (int i = ; i <= ; i++) row = table NewRow(); row[ id ] = i; row[ item ] = i; table Rows Add(row); // Accept changes table AcceptChanges(); DataTable table = table Clone(); row = table NewRow(); row[ id ] = ; row[ item ] = ; table Rows Add(row); row = table NewRow(); row[ id ] = ; row[ item ] = ; table Rows Add(row); row = table NewRow(); row[ id ] = ; row[ item ] = ; table Rows Add(row); // Merge table into the table table Merge(table ); 综合上述 中 DataTable 从后台的默默无问的小兵变成独当一面的大将了 cha138/Article/program/net/201311/13425相关参考
知识大全 ASP.NET中DataTable与DataSet之间的转换
ASP.NET中DataTable与DataSet之间的转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
ASP.NET怎么操作DataTable实例应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!有机
知识大全 asp.net导入excel转为datatable
前台代码 <asp:FileUploadrunat=serverID=fupFilesWidth=px/>excel表名<asp:TextBoxID=txtSheetrunat
在ASP.NET2.0中保护机密数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在配置系统中
ASP.NET2.0中XSLT的使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在中对XML
在ASP.NET2.0中使用页面导航控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 几乎每个
ASP.NET2.0中XML数据的处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SqlDa
ASP.NET2.0中构造个性化网页 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在WEB应用
知识大全 asp.net 2.0中使用sitemapDATAsource做页面导航
asp.net2.0中使用sitemapDATAsource做页面导航 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶
知识大全 ASP.NET 2.0 AJAX中Webservice调用方法
ASP.NET2.0AJAX中Webservice调用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一