以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态创建内部临时表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127215)

--  作者:18523500398
--  发布时间:2018/11/8 15:28:00
--  动态创建内部临时表
老师们,求助个问题,我想问一下怎么动态创建一个内部表啊,内部表的数据和表的格式来自我外部表的查询
--  作者:18523500398
--  发布时间:2018/11/8 15:29:00
--  
内部表不用了过后就删除
--  作者:有点甜
--  发布时间:2018/11/8 15:30:00
--  

参考

 

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

 


--  作者:18523500398
--  发布时间:2018/11/8 15:32:00
--  
感谢感谢,之前好像我弄过相似的问题。尴尬。谢谢
--  作者:18523500398
--  发布时间:2018/11/8 17:28:00
--  
还能顺便问一下,ft里面怎么从外部临时表查询出来的数据保存到ft内部的临时表嘛?
我用绑定内部临时表的查询语句,临时表的值是空的。
我采用的方式:外部数据源建立存储过程来查询,查询的思路是把一个表的数据的行转换成列,因为对应的条件下的行数不同,所以对应的列数不同,所以就没有采用再建立表的形式了。
然后在ft内部的临时表的sql语句调用存储过程,但是外部数据查询出来的值绑定不到内部的临时表中,想问一下怎么解决,这个问题困扰了我好久,我之前是用建表的形式解决的,但是感觉那个方法不够科学,想寻求一个解决的方法。

--  作者:18523500398
--  发布时间:2018/11/8 17:29:00
--  
执行的存储过程查询出来的值是sql语句经过处理的,处理过后的数据就相当于一个临时查询结果
--  作者:有点甜
--  发布时间:2018/11/8 17:38:00
--  

得到datatable,可以绑定到table,或者直接用

 

Dim cmd As New SQLCommand
cmd.ConnectionName = "数据源"        \'Name前空格要去掉
cmd.CommandText = "Exec 存储过程名"  \'有参数--cmd.CommandText = "Exec 存储过程名 参数1,参数2"

Dim t As DataTable = cmd.ExecuteReader

 

只能返回一个记录集
如果存储过程产生多个记录集,
就在存储过程中先执行set nocount on,再执行Select
而要返回记录集时,就要先执行set nocount off,再执行Select

 

 



--  作者:18523500398
--  发布时间:2018/11/8 17:43:00
--  
我这样弄了,把查询的集放datatable里面,然后我统计了一下,datatable里面的行数和列数都为0.还是不行
--  作者:有点甜
--  发布时间:2018/11/8 17:46:00
--  

1、你sqlserver里面执行 Exec 存储过程名 能否得到返回一个表格?如果能够得到,foxtable里面也可以。

 

2、认认真真看这段文字:

 

只能返回一个记录集
如果存储过程产生多个记录集,
就在存储过程中先执行set nocount on,再执行Select
而要返回记录集时,就要先执行set nocount off,再执行Select


--  作者:18523500398
--  发布时间:2018/11/8 17:49:00
--  
Dim ss As String
ss="JL20181029008"
Dim cmd As new SQLCommand
cmd.ConnectionName=_strBooks
cmd.CommandText="exec show_mftf \'" & ss & "\'"
Dim dt As DataTable
dt=cmd.ExecuteReader()
Dim Rowcount As Integer
Dim Colcount As Integer
Rowcount=dt.DataRows.Count
Colcount=dt.DataCols.Count
MessageBox.Show(Rowcount)
MessageBox.Show(Colcount)

这是我的source,我在sqlserver里面执行出来的结果集是
JL20181029008 0 0 0 0 0 0 0 0 0 0 0
这样的。
我这边不能添加图片附件,只有文字了。
[此贴子已经被作者于2018/11/8 17:50:05编辑过]