Foxtable(狐表)用户栏目专家坐堂 → SQL查询窗口出错


  共有13525人关注过本帖树形打印复制链接

主题:SQL查询窗口出错

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


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
SQL查询窗口出错  发帖心情 Post By:2011/7/22 11:00:00 [显示全部帖子]

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

 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By: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 )
'

 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By:2011/7/22 11:31:00 [显示全部帖子]

谢谢,现试试了

 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By: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数据库时,就不会自动加入值了,也就出现上述错误提示。

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


 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By:2011/7/29 11:22:00 [显示全部帖子]

选择表后自动形成


 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By:2011/7/29 11:29:00 [显示全部帖子]

已经连接了外部数据源,可以查询的,只是会出现出错提示

 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By:2011/7/29 14:06:00 [显示全部帖子]

ComboBox2的Textchanged事件

 

 

'当选择combobox2即组合框2时,组合框3能自动将组合框2显示的列的内容不重复显示出来
Dim i As String = e.Form.Controls("ComboBox1").value    '定义一个组合框,以供在窗口显示表用 
With e.Form
    Dim cmb1 As WinForm.ComboBox = .Controls("ComboBox3")   '定义一个组合框类ccmb1
    Dim cmb2 As WinForm.ComboBox = .Controls("ComboBox2")  'cmb2=组合框类2
   cmb1.Items.Clear '清除所有录入框数据
    Dim cmd As New SQLCommand   '定义一个新的SQLCommand,这个类用于执行SQL命令.
    Dim dt As DataTable
    cmd.CommandText = "Select  DISTINCT " & cmb2.Value & " from {"& i &"} Where " & cmb2.Value & " Is Not Null"   '需要排除重复的行,可以在字段列表前面加上关键词DISTINCT
    dt = cmd.ExecuteReader() 'ExecuteReader生成一个DataTable(临时表),只有在代码执行过程中才存在,也不会显示在界面中,所以用户感觉不到这个DataTable的存在.
    For Each dr As DataRow In dt.Datarows
        cmb1.Items.Add(dr(cmb2.Value )) 'Items字符集合,表示所有的自定义列表项目.增加一个列表项目
    Next
    cmb1.SelectedIndex = 0  'SelectedInde选中第一个页面位置
End With


 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By:2011/8/1 10:11:00 [显示全部帖子]

那位高手,帮看看这个问题!!!

 回到顶部
帅哥哟,离线,有人找我吗?
lylin0648
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:54 积分:607 威望:0 精华:0 注册:2011/5/25 13:37:00
  发帖心情 Post By:2011/8/1 15:41:00 [显示全部帖子]

出错提示在1楼


 回到顶部