(已解决)无法将类型为'system.data.datarow []'的对象强制转换为'system.data.datatable' [英] (RESOLVED) unable to cast object of type 'system.data.datarow[]' to type 'system.data.datatable'

查看:440
本文介绍了(已解决)无法将类型为'system.data.datarow []'的对象强制转换为'system.data.datatable'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个上传文本文件的模块,然后我突然遇到内存不足的错误。我意识到我达到了要上传的文件的最大大小。



现在,我正在尝试将我的DataTable拆分成许多DataTable。当我运行代码进行调试时,我输入错误

I create a module which upload text file, then suddenly I encounter error of out of memory. I realize that I reach the maximum size of file to be uploaded.

Now, I'm attempting to split my DataTable into many DataTables. When I run the code to debug, I encouter error

Quote:

无法将类型为'System.Data.DataRow []'的对象转换为类型'System.Data.DataTable'

Unable to cast object of type 'System.Data.DataRow[]' to type 'System.Data.DataTable'





我尝试过:





What I have tried:

Dim _New_dt As New DataTable()
Dim dtArr() As DataTable = Nothing
Dim Columns As DataRow = dt.NewRow

_New_dt = dt.Copy
_New_dt.Columns.Add("Key_Id", GetType(String))

Dim c = _New_dt.Rows.Count / 30000
Dim SheetNumber = Convert.ToInt64(System.Math.Ceiling(c))


For j As Integer = 0 To c

dtArr(j) = _New_dt.Select("Key_Id <= 1 And Key_Id >= 30000").Clone()
dtArr(j) = _New_dt.Select("Key_Id <= 31000 And Key_Id >= 60000").Clone()
dtArr(j) = _New_dt.Select("Key_Id <= 61000 And Key_Id >= 90000").Clone()
dtArr(j) = _New_dt.Select("Key_Id <= 91000 And Key_Id >= 120000").Clone()
dtArr(j) = _New_dt.Select("Key_Id <= 121000 And Key_Id >= 150000").Clone()

Next

推荐答案

我已经回答了你的问题:如何拆分ASP.NET中的多个数据表的大型数据表 [ ^ ]。在那里,您将找到一种如何将数据行数组复制到另一个数据表中的方法。
I anwered your question already: How to split a large datatable into multiple datatables in ASP.NET[^]. There you'll find a way how to copy an array of datarows into another datatable.


这篇关于(已解决)无法将类型为'system.data.datarow []'的对象强制转换为'system.data.datatable'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆