以文本方式查看主题

-  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=11436)

--  作者:lylin0648
--  发布时间:2011/7/22 11:00:00
--  SQL查询窗口出错
设计好的程序迁移到SQL数据库后,在查询时出现以下提示,因为对SQL不太熟悉,请问应该怎样解决。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/7/22 11:08:00
--  

贴出代码看看。


--  作者:lylin0648
--  发布时间:2011/7/22 11:15:00
--  
代码如下:Dim dt As String = e.Form.Controls("ComboBox1").text \'表名控件
Dim c As String
If DataTables.Contains(dt) Then
    For Each dc As DataCol In DataTables(dt).DataCols
        c = c & "|" & dc.Name
    Next
     Dim cb2 As WinForm.ComboBox = e.Form.Controls("ComboBox2") \'列名控件
      Dim cb7 As WinForm.ComboBox = e.Form.Controls("ComboBox7") \'列名控件
        cb2.comboList = c.Trim("|")
        cb7.comboList = c.Trim("|")
       \'加入以下5行代码后,当选择表后,组合框3和5会自动加入所选表的第一列第一行的值
    cb2.SelectedIndex = 0
    Dim cmb5 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
    If cmb5.combolist > ""
        cmb5.SelectedIndex = 0
    End If
End If
MainTable = Tables( dt )
\'

--  作者:狐狸爸爸
--  发布时间:2011/7/22 11:17:00
--  

上面的代码不应该出现这个问题的。

出问题的代码应该筛选窗口的ComboBox2的Textchanged事件。

用下面的方法定位出错误代码位置所在的行,然后分析原因:

 

http://www.foxtable.net/help/topics/1485.htm

 


--  作者:lylin0648
--  发布时间:2011/7/22 11:31:00
--  
谢谢,现试试了
--  作者:lylin0648
--  发布时间:2011/7/29 10:32:00
--  
 

Dim dt As String = e.Form.Controls("ComboBox1").text \'表名控件

Dim c As String

If DataTables.Contains(dt) Then

    For Each dc As DataCol In DataTables(dt).DataCols

        c = c & "|" & dc.Name

 

    Next

     Dim cb2 As WinForm.ComboBox = e.Form.Controls("ComboBox2") \'列名控件

      Dim cb7 As WinForm.ComboBox = e.Form.Controls("ComboBox7") \'列名控件

        cb2.comboList = c.Trim("|")

        cb7.comboList = c.Trim("|")

       \'加入以下5行代码后,当选择表后,组合框3和5会自动加入所选表的第一列第一行的值

    cb2.SelectedIndex = 0

    Dim cmb5 As WinForm.ComboBox = e.Form.Controls("ComboBox3")

    If cmb5.combolist > ""

        cmb5.SelectedIndex = 0

    End If

End If

MainTable = Tables( dt )




程序运行,发现在内部表时“COMBOX1”选定表时,会在组合框3和5自动加入所选表的第一列第一行的值。但是转到外部数据源SQL数据库时,就不会自动加入值了,也就出现上述错误提示。

可能是赋值语句错误,请帮忙修改一下上述代码!!


--  作者:mr725
--  发布时间:2011/7/29 11:01:00
--  

可能你没有把外部表加入到foxtable吧。


--  作者:mr725
--  发布时间:2011/7/29 11:04:00
--  

还有,你e.Form.Controls("ComboBox1").text 的值是怎么形成的?


--  作者:lylin0648
--  发布时间:2011/7/29 11:22:00
--  

选择表后自动形成


--  作者:lylin0648
--  发布时间:2011/7/29 11:29:00
--  
已经连接了外部数据源,可以查询的,只是会出现出错提示