dim sql as string = "
SELECT *
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY 进出日期 ASC ) AS RowNum ,
*
FROM uv_kc105
WHERE 进出日期 >= '2020-03-01'
AND ( 产品编码 LIKE '%B0104041%' )
) AS tb
WHERE RowNum >= 1
AND RowNum <= 6000
"
DataTables(WinName & "_Table1").SQLLoad(sql,False)
原来是用上面的语句直接从后台分页加载数据,但有个问题,数据量很大时上面的查询会非常慢,但实际红色部门的代码执行只要3秒,但加上前面这个简单的分页查询时
速度就很慢,2分钟都查不出来,直接显示超时了,但只要把红色的先保存在一个临时表中,相同的查询也只有3秒
所以用临时表就不能直接用sql查询语句了,改为了储存过程:
Dim cmd As New SQLCommand
cmd.ConnectionName = Mydata
cmd.CommandText = "Exec usp_ldpage_query10 '" & ldpagecol & "','" & Loadorder & "','" & tbs & "','" & Filter & "'," & r1 & "," & r2
Dim dt As DataTable = cmd.ExecuteReader
dim sql as string = "Select * From dt"
DataTables(WinName & "_Table1").SQLLoad(sql,False)
上面蓝色部份应该如何写才可以用下面这句sqlLoad语句加载? (我现在是将储存过程执行的结果先存入一个物料表中再查询)
谢谢!