以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]sql表变量,如何读取 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53139) |
-- 作者:mosquito1003 -- 发布时间:2014/6/30 17:35:00 -- [求助]sql表变量,如何读取 我SQL数据库有一个存储过程,如下: CREATE
PROCEDURE Hrdtest01 As declare @Temp table(
BillNo nvarchar(20)
,ProductNo nvarchar(20)
,ProductName nvarchar(100)
,Specification nvarchar(100) ) Insert Into @Temp(BillNo,ProductNo,ProductName,Specification) Select BillNo,ProductNo,ProductName,Specification from ERun_8..PD_Product Where ProductNo Like \'374%\' Select BillNo as 单据编号,ProductNo as 料号,ProductName as 品名,Specification as 规格
from @Temp Order by ProductNo Go 然后在Foxtable的代码如下: Dim sqlstr02 As String = "Exec Hrdtest01" Dim cmd As New SQLCommand cmd.ConnectionName = “sqlname” cmd.CommandText = sqlstr02 Dim dt As DataTable = cmd.ExecuteReader MessageBox.Show(dt.DataRows.Count) Tables("SQLTest_Table1").DataSource = dt 运行后,发现 dt.DataRows.Count=0 而且加载表也是不存在的表! 请问该如何可以读取sql中的表变量的结果!非常感谢大虾们!!!
|
-- 作者:有点甜 -- 发布时间:2014/6/30 17:40:00 -- 呃,你执行的存储过程,是不能返回任何值的......
你要在数据库那里定义函数,返回一个对应的表,参考函数的定义去弄。 |
-- 作者:有点甜 -- 发布时间:2014/6/30 17:42:00 -- 如果不想用函数的方法,你就要真正生成一个表,然后执行完存储过程后,在foxtable里再去查那个表 |