Foxtable(狐表)用户栏目专家坐堂 → 调用查询表时报错没有某一列


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

主题:调用查询表时报错没有某一列

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


加好友 发短信
等级:婴狐 帖子:11 积分:163 威望:0 精华:0 注册:2021/9/23 10:38:00
调用查询表时报错没有某一列  发帖心情 Post By:2021/9/23 10:45:00 [只看该作者]

'获取大膜生产计划单列表数据
Dim lstFilter As String = args(0) '列表条件

If lstFilter = "" Then
    lstFilter = "isnull(bPrint,0) = 0 and isnull(bComplete,0) = 0"
Else 
    lstFilter = "isnull(bPrint,0) = 0 and isnull(bComplete,0) = 0 and " & lstFilter 
End If

'抽取数据(库存匹配)
Dim jb As new SQLJoinTableBuilder("大膜生产计划单列表","V_sc_BigFilmMake_List")
jb.ConnectionName = "DB"
jb.AddCols("_Identify","iID","cCode","dDate","cMachineCode","cTeamCode","cType","cInvCode","cInvName","iThick","iWidth","iLength","cNo","iMakeOrder","bComplete","bPrintOrder","iCompleteQuantity","dDownLineDate","dDownLineDateTime","cBarcode","iWeight","bPrint","cVerifier","dMakeDate","formulaCode","technologyCode")
'jb.AddCols("配方名称","工艺序号")
jb.Filter = lstFilter
jb.Build()
DataTables("大膜生产计划单列表").DataCols.Add("配方名称",Gettype(String),50)
DataTables("大膜生产计划单列表").DataCols.Add("工艺序号",Gettype(String),50)
MessageBox.Show(1)
For Each dc As DataCol In DataTables("大膜生产计划单列表").DataCols
    Try
    If 图片点击可在新窗口打开查看dc.Name.Contains("配方名称") Or 图片点击可在新窗口打开查看dc.Name.Contains("工艺序号") Then
        Continue For
    End If
    If dc.Name.Contains("technologyCode") Or dc.Name.Contains("formulaCode") Then
        Continue For
    End If
    If dc.Name.Contains("bPrintOrder") Then
        dc.Caption = "是否打印配方工艺"
        Continue For
    End If
    dc.Caption = DataTables("sc_BigFilmMakeJoin").DataCols(dc.Name).Caption
    Catch ex As Exception
        Continue For
        MessageBox.Show(ex.Message)
    End Try
Next
MessageBox.Show(2)


有时候调用这个函数的时候,会报错说没有“配方名称”的列,有时候有不报错,而且我添加 MessageBox.Show(1)来调试,发现报错之前并没有调用的这个 MessageBox.Show(1)的窗口,这是为什么呢,求各位大神帮帮忙啊

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/23 10:51:00 [只看该作者]

哪一个MessageBox.Show可以弹出来?

'获取大膜生产计划单列表数据
Dim lstFilter As String = args(0) '列表条件
MessageBox.Show(lstFilter)
If lstFilter = "" Then
    lstFilter = "isnull(bPrint,0) = 0 and isnull(bComplete,0) = 0"
Else 
    lstFilter = "isnull(bPrint,0) = 0 and isnull(bComplete,0) = 0 and " & lstFilter 
End If
MessageBox.Show(0)
'抽取数据(库存匹配)
Dim jb As new SQLJoinTableBuilder("大膜生产计划单列表","V_sc_BigFilmMake_List")
jb.ConnectionName = "DB"
jb.AddCols("_Identify","iID","cCode","dDate","cMachineCode","cTeamCode","cType","cInvCode","cInvName","iThick","iWidth","iLength","cNo","iMakeOrder","bComplete","bPrintOrder","iCompleteQuantity","dDownLineDate","dDownLineDateTime","cBarcode","iWeight","bPrint","cVerifier","dMakeDate","formulaCode","technologyCode")
'jb.AddCols("配方名称","工艺序号")
jb.Filter = lstFilter
jb.Build()
MessageBox.Show(1)
DataTables("大膜生产计划单列表").DataCols.Add("配方名称",Gettype(String),50)
DataTables("大膜生产计划单列表").DataCols.Add("工艺序号",Gettype(String),50)
MessageBox.Show(2)

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


加好友 发短信
等级:婴狐 帖子:11 积分:163 威望:0 精华:0 注册:2021/9/23 10:38:00
  发帖心情 Post By:2021/9/23 10:59:00 [只看该作者]

MessageBox.Show(0)可以弹出来,然后就报错了


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/23 11:06:00 [只看该作者]

报什么错?

这句代码是注释的还是启用的?'jb.AddCols("配方名称","工艺序号")

V_sc_BigFilmMake_List是一个查询表?使用了什么SQL语句?

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


加好友 发短信
等级:婴狐 帖子:11 积分:163 威望:0 精华:0 注册:2021/9/23 10:38:00
回复:(有点蓝)报什么错?这句代码是注释的还是启用...  发帖心情 Post By:2021/9/23 11:33:00 [只看该作者]

图片点击可在新窗口打开查看
图片点击可在新窗口打开查看
V_sc_BigFilmMake_List是一个SQL server中的视图,’jb.add那句是注释的,我直接通过查询方法从视图中查询数据,然后又添加了两个临时列,然后查询的时候就会报错


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/23 11:48:00 [只看该作者]

MessageBox.Show(lstFilter)弹出什么内容?注意"配方名称"是添加的临时列,不存在数据库的,查询条件不能使用这个列名

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


加好友 发短信
等级:婴狐 帖子:11 积分:163 威望:0 精华:0 注册:2021/9/23 10:38:00
回复:(有点蓝)MessageBox.Show(lstFilter)弹出什么...  发帖心情 Post By:2021/9/23 12:03:00 [只看该作者]

图片点击可在新窗口打开查看
这个是筛选条件,如果报错点击继续的话就会继续往下运行弹出MessageBox.show(1)

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/23 12:04:00 [只看该作者]

关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。

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


加好友 发短信
等级:婴狐 帖子:11 积分:163 威望:0 精华:0 注册:2021/9/23 10:38:00
  发帖心情 Post By:2021/9/23 15:13:00 [只看该作者]

删除项目的bin文件刚开始没有问题,但是过一会就会又出现报错现象


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110737 积分:563605 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/23 15:16:00 [只看该作者]

检查什么地方添加了不合适的条件!或者上传实例给我们测试。

注意不要把项目文件放到云盘目录(比如onedrive)里使用

 回到顶部