Foxtable(狐表)用户栏目专家坐堂 → 用SQL多表多条件查询出错


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

主题:用SQL多表多条件查询出错

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
用SQL多表多条件查询出错  发帖心情 Post By:2019/5/15 22:27:00 [只看该作者]

下面代码出错:

Dim gzbmflt As String   '分页加载
Dim fdr As DataRow = DataTables("Users").SQLFind("Name = '" & User.Name & "'")
If User.Type = UserTypeEnum.User Then
    If fdr IsNot Nothing Then
        If fdr("归属部门").Contains("总公司")  Then
            gzbmflt = "[_Identify] Is Not Null"
            'gzbmflt = "[系统编号] Is Not Null"
        Else
            gzbmflt = "归属部门 = '" & fdr("归属部门") & "' And 咨询类型 Like '%" & fdr("咨询类型") & "%'"
        End If
    End If
Else
    gzbmflt = "[_Identify] Is Not Null"
    'gzbmflt = "[系统编号] Is Not Null"
End If

'生成从后台提取数据生成一个临时的DataTable
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = V
Dim str As String = "{招标信息}.系统编号,{招标信息}.项目名称,{招标信息}.咨询类型,{招标信息}.项目状态,归属部门,工程类别,投标地区,评标方式,业务性质,开标日期"
cmd.CommandText = "Select DISTINCT " & str & " Fro m {招标信息} INNER JOIN {任务分配} ON {招标信息}.系统编号 = {任务分配}.系统编号 Where " & gzbmflt & " ORDER BY 开标日期 DESC "
dt = cmd.ExecuteReader()

dt.DataCols.Add("idx",Gettype(Integer))   '增加一个临时列              
Dim drs As List(Of DataRow) = dt.Select("")
For n As Integer = 0 To drs.Count - 1 '遍历所有行
    If n >= 0 AndAlso drs(n).IsNull("系统编号") = False Then
        drs(n)("idx") = n + 1 '设置排名
    End If
Next
'lsbdt = dt
Dim tb1 As Table = Tables(e.Form.Name & "_Table1")
tb1.DataSource = dt

 

1、错误提示:

.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2019.4.12.1
错误所在事件:
详细错误信息:
列名 '_Identify' 不明确。

2、

.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2019.4.12.1
错误所在事件:窗口,窗口4,Button6,Click
详细错误信息:
未将对象引用设置到对象的实例。

 

[此贴子已经被作者于2019/5/15 22:27:36编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/16 8:51:00 [只看该作者]

条件要指定是哪个表的列,如

 

gzbmflt = "{招标信息}.[_Identify] Is Not Null"

 

 


 回到顶部