以下内容为程序代码:
1 DataTables("表C").DataRows.Clear()
2 Dim dt As DataTable
3 Dim i As Integer
4 Dim SQL As String
5 Dim Date1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
6 Dim Date2 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
7
8 If Date1.Text = Nothing OrElse Date2.Text = Nothing Then
9
10 Messagebox.Show("请输入开始结束日期!")
11 Return
12 End If
13
14 SQL = " EXEC CFYRW_SP '" & Replace(Date1.Text,"-","") & "'"
15
16 Messagebox.Show(SQL)
17 DataTables("表C").Fill(SQL,"测试机",True)
我设计了个新窗口,按钮Click事件中,使用如上方法调用存储过程,然后通过Datatables.Fill运行存储过程,企图把存储过程返回的表填充到"表C"中.运行时点击按钮,表C没有填充数据,也没有报错.(此存储过程在SQL查询分析器中能正常运行并返回表) 请各位大师指点
这样看看:
SQL = "Select * From ( EXEC CFYRW_SP '" & Replace(Date1.Text,"-","") & "')"
不好意思,你原来的代码没有问题。
Fill之后表结构变化了没有,如果变化了,说明执行了,只是没有符合条件的数据。
foxtable提供了一个SQL执行窗口,你可以这里先调试一下SQL语句:
http://help.foxtable.com/topics/1484.htm
Fill之后"表C"结构没有发生变化,刚刚测试了下,存储过程是执行成功的,就是存储过程返回的数据没有填充到"表C"中
用执行SQL的窗口直接执行" exec
CFYRW_SP '20110401' "没报什么错误,也没有数据返回.但我用同样的语句在查询分析器里面执行是能返回出来结果的
这说明狐表目前不能取得存储过程返回的表,你将存储过程返回的表先存入数据库中,过度一下,用Select取这个过度表的数据算了。
存储过程的例子太少了,想学啊···· 有懂行的能提供些在狐表种应用的例子好吗? 谢谢啊。。。