以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何获取100W行以上的数据行的数据(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=96240)

--  作者:yyzlxc
--  发布时间:2017/2/16 10:26:00
--  [求助]如何获取100W行以上的数据行的数据(已解决)
用ExecuteReader生成临时DataTable,获取数据行。由于数据行大于100W行,执行以下代码时,引发类型为“System.OutOfMemoryException”的异常。
用什么方法,可以解决以上问题,请各位老师指教,谢谢!

Dim sjy1 As String = CurrentTable.Current("数据源")
Dim bm As String = CurrentTable.Current("表名")

Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C onnectionName = sjy1
cmd1.CommandText = "Select * Fro m "& bm &""
dt1 = cmd1.ExecuteReader()

Dim sjh As Integer = dt1.DataRows.Count 
MessageBox.Show(sjh)

[此贴子已经被作者于2017/2/16 10:55:57编辑过]

--  作者:有点色
--  发布时间:2017/2/16 10:29:00
--  

你要处理什么?100万行太多了,建议分页加载。

 

http://www.foxtable.com/webhelp/scr/2721.htm

 


--  作者:yyzlxc
--  发布时间:2017/2/16 10:48:00
--  
我只是要获取表数据行的数据
--  作者:yyzlxc
--  发布时间:2017/2/16 10:50:00
--  


如何用ExecuteReader生成临时DataTable时 只加载1列数据

--  作者:有点色
--  发布时间:2017/2/16 10:51:00
--  
以下是引用yyzlxc在2017/2/16 10:48:00的发言:
我只是要获取表数据行的数据

 

图片点击可在新窗口打开查看 你代码这样写

 

Dim sjy1 As String = CurrentTable.Current("数据源")
Dim bm As String = CurrentTable.Current("表名")

Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C onnectionName = sjy1
cmd1.CommandText = "Select count(*) Fro m "& bm &""
Dim count As Double = cmd1.ExecuteScalar

msgbox(count)

 

 


--  作者:yyzlxc
--  发布时间:2017/2/16 10:56:00
--  
问题解决,谢谢有点色老师的指教!!