以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  【求助】调用存储过程实现一些功能  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107422)

--  作者:wjy0611
--  发布时间:2017/9/27 17:06:00
--  【求助】调用存储过程实现一些功能
老师好,我想通过调用数据库的存储过程来实现一个导出报表的功能。比如:
通过窗口上的TextBox文本框输入一个参数,然后把参数值传递给数据库里已经写好的存储过程,然后直接导出通过存储过程查询出来的数据。
不知道具体该怎么写,请教一下老师。

--  作者:有点蓝
--  发布时间:2017/9/27 17:29:00
--  
如果是存储过程不会写,只能自行百度。

存储过程的调用和sql的调用方法一样

Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd.CommandText = 
"exec 存储过程名称 " & e.form.controls("TextBox1").text
dt = cmd.ExecuteReader(True\'记得将参数设置为True

用法:
exec 存储过程名称 参数

--  作者:wjy0611
--  发布时间:2017/9/30 15:21:00
--  
以下是引用有点蓝在2017/9/27 17:29:00的发言:
如果是存储过程不会写,只能自行百度。

存储过程的调用和sql的调用方法一样

Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd.CommandText = 
"exec 存储过程名称 " & e.form.controls("TextBox1").text
dt = cmd.ExecuteReader(True\'记得将参数设置为True

用法:
exec 存储过程名称 参数




老师,我这里出现错误
The Microsoft Jet detebase engine cannot find the input table or query \'MonthReport\'.Make sure it exists and that its name is spelled correctly

下面是我代码
Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd.CommandText = 
"exec MonthReport & e.form.controls("TextBox1").text
dt = cmd.ExecuteReader(True

在数据库里使用存储过程是可以查出来结果的



--  作者:有点蓝
--  发布时间:2017/9/30 15:50:00
--  
数据库没有“MonthReport”这样一个存储过程名称
--  作者:有点蓝
--  发布时间:2017/9/30 15:50:00
--  
添加数据源名称


--  作者:wjy0611
--  发布时间:2017/10/11 9:47:00
--  
老师你好,我写了连接数据源之后出现错误:
对于不返回任何基表信息的selectCommand不支持动态SQL生成

这是我foxtable里的代码问题还是我的存储过程有问题呢

--  作者:有点甜
--  发布时间:2017/10/11 10:20:00
--  

dt = cmd.ExecuteReader(True)

 

要改成

 

dt = cmd.ExecuteReader()