以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  找到原因了,谢谢!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149502)

--  作者:lanbor
--  发布时间:2020/5/4 20:10:00
--  找到原因了,谢谢!
请教:如何获取SQL过程中由多表组合生成的一个临时表记录。
Dim cmd As new S QL Com  mand  \'找制程指令号
cmd.Conn ecti
Dim _db00,_db02 As Data Table
cmd.Comm andText = "lanbor_all_unok_form"
cmd.Stored Procedure = True
cmd.Param eters.Add("@Count",0,False) \'这是第一个参数,用于获取存储过程的返回值
_db02 = cmd.Exe cuteReader \'获取订单生成DataTable
Dim count As Integer = Cmd.Para meters("@Count") \'取得存储过程的返回值
output.show(count)                                                ‘-这个语句返回是142条记录
_db02 = cmd.Exe cuteReader()   
output.show(_db02.Data Rows.Count)                      ’这个语句返回是 0 条记录
For Ea ch r1 As DataRow In _db02.DataRows            ‘下面无记录可看
    output.show(r1("Doc_name"))
Next

我在SQL中直接运行:exec lanbor_all_unok_form 过程
得到的消息是:142行受影响, 142行受影响,2次,记录显示的是 1 次

SQL语句结构如下:
BEGIN
sel ect * fr om INTO #TEMP1
(
sel ect a,b,c fr om ab1
union all
sele ct a,b,c fr om ab2
union all
sele ct a,b,c fr om ab3
) AS all_order
sel ect * fr om #TEMP1
return @@RowCount
END

找到原因了,谢谢!

[此贴子已经被作者于2020/5/5 9:37:00编辑过]