以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]外部数据源查询引用内部表的列作为变量  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193009)

--  作者:MPV8
--  发布时间:2024/8/9 10:36:00
--  [求助]外部数据源查询引用内部表的列作为变量
请教各位,我想用表B的aa列的变量在外数据源里查符合aa列的所有有数据出来,但下面语句查出来的时候只有符合aa列的当前行,我应该怎样改呢?

Dim cmd As New SQLCommand
Dim st As String = Tables("表B").Current("aa")
cmd.C
cmd.CommandText = "selec  ZYHGHH,BRXM00,PYRQ00 from VW_JY_JYJG00 where  ZYHGHH  in  \'" & st & "\'    "
Dim dt As DataTable = cmd.ExecuteReader
Tables("查询_Table1").DataSource = dt
Tables("查询_Table1").AutoSizeCols()

图片点击可在新窗口打开查看

[此贴子已经被作者于2024/8/9 10:43:33编辑过]

--  作者:有点蓝
--  发布时间:2024/8/9 10:38:00
--  

表B和VW_JY_JYJG00是在同一个数据库里吗?
[此贴子已经被作者于2024/8/9 10:38:03编辑过]

--  作者:MPV8
--  发布时间:2024/8/9 10:41:00
--  
不在同一个库里,只是内部表
--  作者:有点蓝
--  发布时间:2024/8/9 10:56:00
--  
如果表B数据不多,可以这样

    Dim ids As String
    For Each 
dr As DataRow In DataTables("表B").DataRows
        
ids = ids & ",\'" & dr("aa") & "\'"
    Next
    
idsids.Trim(",")
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "select ZYHGHH,BRXM00,PYRQ00 from VW_JY_JYJG00 where  ZYHGHH  in  (\'" & ids & "\')"
……

--  作者:MPV8
--  发布时间:2024/8/9 11:25:00
--  
老师,运行后提示缺括号,检查过,都没有少,那里出错了呢?

Dim ids As String
    For Each dr As DataRow In DataTables("表B").DataRows
        ids = ids & ",\'" & dr("aa") & "\'"
    Next
    ids = ids.Trim(",")
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "selec ZYHGHH,BRXM00,PYRQ00 from VW_JY_JYJG00 where  ZYHGHH  in  (\'" & ids & "\') "
Dim dt As DataTable = cmd.ExecuteReader
Tables("查询_Table1").DataSource = dt
Tables("查询_Table1").AutoSizeCols()
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2024/8/9 11:50:00
--  
去掉单引号

cmd.CommandText = "s
elect ZYHGHH,BRXM00,PYRQ00 from VW_JY_JYJG00 where  ZYHGHH  in  (" & ids & ")"
--  作者:MPV8
--  发布时间:2024/8/9 15:02:00
--  
可以了,谢谢老师图片点击可在新窗口打开查看