Foxtable(狐表)用户栏目专家坐堂 → 麻烦老爹检查一下代码,超出数组边界?发现BUG。二楼


  共有14175人关注过本帖平板打印复制链接

主题:麻烦老爹检查一下代码,超出数组边界?发现BUG。二楼

帅哥哟,离线,有人找我吗?
菜鸟foxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
麻烦老爹检查一下代码,超出数组边界?发现BUG。二楼  发帖心情 Post By:2010/10/28 11:24:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.C
Dim dt As datatable
If Vars("类型") = "查询" Then
    cmd.CommandText = "" & Vars("查询") & "" & " where 1<>1"
Else If Vars("类型") = "存储" Then
    cmd.CommandText = Vars("查询")
End If

dt = cmd.ExecuteReader()

Dim lst As String
For Each dc As DataCol In dt.dataCols
    lst = dc.name & "|" & lst
Next
Tables("Bsfilter").Cols("listed").Combolist = "" & lst & ""

 

 

 

上面代码是提取后台数据表的所有列名,做为某列的列表项目。

 

当语句为select * from Vw_zycybrjk这样类型的正常,而语句是存储过程exec PROC_DI_zygfbrjsxd时报错。

 

这两个查询语句在SQL执行框里运行正常。


此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片

 

如果把思路改成预先将所有数据Fill到某窗口某表,则正常。

 

   If Vars("类型") = "存储" Then
       Dim lst1 As String
       For Each c As col In Tables("主窗口_Table1").Cols
          lst1 = c.name & "|" & lst1
       Next
       Tables("Bsfilter").Cols("listed").Combolist = "" & lst1 & ""

   End If

[此贴子已经被作者于2010-10-28 11:50:02编辑过]

 回到顶部