以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表达式中SQL表名的使用  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=106667)

--  作者:blsu33
--  发布时间:2017/9/13 14:35:00
--  [求助]表达式中SQL表名的使用
 老师,
关于SQL查询表生成查询命了使用

例如:
DIM dt as datatable
....
cmdtext="Select  {表A}.*,{表B}.*,{表C}.*,{表D}.*Fr om ......JOIN.....后面省略了"
dt =cmd.ExecuteReader()

假如生成了上述的临时表  表A 表B 都有 第一列,查询表可以看到临时表 有  表A.第一列 表B.第一列 
DIM dt2 as datatable=datatables(“表B”)
下面的写法 是否正确
Dim drs2 As List (of DataRow)=dt.SQLSelect("{表A}.[第一列]=\'"& dr("第一列") &"\'") 这么写正确

--  作者:有点甜
--  发布时间:2017/9/13 14:42:00
--  

 你在sql测试窗口,拷贝你的sql语句加上你的条件语句测试,如果没报错,就是正确的。


--  作者:blsu33
--  发布时间:2017/9/13 14:48:00
--  
 恩 这块 经常出现报错的 只要更改SQL语言附加额外新增表 就有报错危险,
老师

不存在下面情况吧

Dim drs2 As List (of DataRow)=dt.SQLSelect("{表A}.[第一列]=\'"& dr("{表B}.[第一列]") &"\'") 这么写正确
--  作者:有点甜
--  发布时间:2017/9/13 15:23:00
--  

如果是sql语句,要这样写 {表A}.第一列

 

如果是foxtable里面使用,这样写 http://www.foxtable.com/webhelp/scr/0193.htm

 

你sql生成的时候,指定列名咯,这样就没问题。


--  作者:blsu33
--  发布时间:2017/9/13 16:52:00
--  
 100%不存在下面标注颜色的情况出现 吧

Dim drs2 As List (of DataRow)=dt.SQLSelect("{表A}.[第一列]=\'"& dr("{表B}.[第一列]") &"\'")
[此贴子已经被作者于2017/9/13 16:54:02编辑过]

--  作者:有点甜
--  发布时间:2017/9/13 17:00:00
--  

查看表结构

 

http://www.foxtable.com/webhelp/scr/0193.htm

 

里面是什么,你就要写什么。


--  作者:blsu33
--  发布时间:2017/9/14 16:43:00
--  
老师,
    用SQL生成的临时表dt001(由表A 与表B构成,select {表A}.*,{表B}.*,)表A有列名“第一列”,表B有列名“第一列”,不加载数据,用SQLselect 查询条件如下就会出错

DIM DT1 AS  datatable=dt
DIM DT2 AS  datatable=dt
dim dr1 as datarow=DT1.datarows(0)
dim dr2 as datarow=DT2.SQLselect("{表A}.[“第一列”]=’“dr1(”第一列“)”‘")
这个dr1(”第一列“)好像系统不会判断是表A还是表B ,这时候好像就会报错,是这样吗?
--  作者:有点甜
--  发布时间:2017/9/14 17:04:00
--  

1、为什么要用*?为什么不能一个一个列名的指定?这样才没有问题;

 

2、查看表结构,看其列名是什么,是什么dr里面就写什么