posted on 2007-03-07 18:49 Daniel Pang 阅读(2324) 评论(7) 编辑 收藏 网摘 所属分类: ASP.NET2.0ASP.NET1.1
我注意到你的发表日期是2007-04-07 要是我,打死我都不会这样做! 我情愿用DataTable.Copy()的方法。 回复 引用 查看
@南疯 我是新建一个DataSet,然后将前面代码返回的多个DataTable组合到这个DataSet中去,如果用你说的那种方法,会出现“该表已属于另一个DataSet”的错误 回复 引用 查看
你说的情况我也碰过,DataTable.Copy()得到的结果(可能)是不带有原来所属的DataSet的,你可以试试看。如果还是带有原来是DataSet,那么,你还可以把DataTable.DataSet=null来处理,然后再Add到你的新DataSet中。 还有,结构的拷贝也不需要循环处理的,直接使用DataTable.Clone()即可。 回复 引用 查看
@南疯 DataTable.DataSet是只读属性,不可以像你所说的DataTable.DataSet=null这样来设置。 回复 引用 查看
正确方法:ds.Tables.Add(dt.Copy()) 回复 引用
public DataTable Copy() { DataTable table2; IntPtr ptr; Bid.ScopeEnter(out ptr, "<ds.DataTable.Copy|API> %d#\n", this.ObjectID); try { DataTable table = this.Clone(); foreach (DataRow row in this.Rows) { this.CopyRow(table, row); } table2 = table; } finally { Bid.ScopeLeave(ref ptr); } return table2; } 其实想法类似。 回复 引用
DataTable dt = ds2.Tables(0) ds2.Tables.Remove(dt) ds1.Tables.Add(dt) 回复 引用 查看
昵称: [登录] [注册]
主页:
邮箱:(仅博主可见)
验证码: 看不清,换一个
评论内容:
登录 注册
[使用Ctrl+Enter键快速提交评论]
Powered by: 博客园 Copyright © Daniel Pang