知识大全 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实例应用

ASP.NET怎么操作DataTable实例应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!有机

知识大全 asp.net导入excel转为datatable

  前台代码  <asp:FileUploadrunat=serverID=fupFilesWidth=px/>excel表名<asp:TextBoxID=txtSheetrunat

知识大全 在 ASP.NET 2.0 中保护机密数据

在ASP.NET2.0中保护机密数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在配置系统中

知识大全 ASP.NET 2.0中XSLT的使用

ASP.NET2.0中XSLT的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在中对XML

知识大全 在ASP.NET 2.0中使用页面导航控件

在ASP.NET2.0中使用页面导航控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  几乎每个

知识大全 ASP.NET 2.0中XML数据的处理

ASP.NET2.0中XML数据的处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SqlDa

知识大全 ASP.NET 2.0中构造个性化网页

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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一