Foxtable(狐表)用户栏目专家坐堂 → 再次从临时表中查询数据时怎么样引用表名?


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

主题:再次从临时表中查询数据时怎么样引用表名?

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
再次从临时表中查询数据时怎么样引用表名?  发帖心情 Post By:2013/7/5 16:36:00 [只看该作者]

请教一下,用sqlcommand类查询得到了一个临时表dt,如下

 cmd.CommandText = "SELECT [_identify],产品编码,品名,规格,颜色 From {产品编码}"
 dt = cmd.ExecuteReader()

再想从这个得到的临时表中查询数据要怎么样引用dt这个临时表的名称?
 cmd1.CommandText = "SELECT Distinct 产品编码,品名 From {“ & dt & "}”
  Dim dt2 As DataTable = cmd1.ExecuteReader()


上面红色的部份定成 {dt} 、{" & dt.name & "} 等均出错。

谢谢!

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/5 16:42:00 [只看该作者]

使用变量实现吧 
cmd.CommandText = "SELECT [_identify],产品编码,品名,规格,颜色 From {产品编码}"
 dt = cmd.ExecuteReader()
dim dtName as string = "产品编码"  '如果是其他地方使用可以使用全局变量

cmd1.CommandText = "SELECT Distinct 产品编码,品名 From {“ & dtName & "}”
  Dim dt2 As DataTable = cmd1.ExecuteReader()



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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/7/5 17:00:00 [只看该作者]

这个貌似不行吧,我试过的 好像不行.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/5 17:01:00 [只看该作者]

用变量怎么会不行呢,自己存的变量.没道理呀.

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2013/7/5 17:22:00 [只看该作者]

谢谢二位,这样是可以了,但因为表名都是”产品编码“ ,会不会第二个临时表也从第一个产品编码取数啊,因为我的本意是要从第一个得到的临时表中取数。上述例子中看似两个表差不多,但是有时会差别很大的。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/7/6 9:07:00 [只看该作者]

直接在dt里面取数不行吗?

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2013/7/6 9:23:00 [只看该作者]

就是想直接再从第一个查询到的dt里取数,但代码后面“from {}”这里不知如何引用dt这个表的表名,如果用dt.name则显示没有为“”的表名;一楼试了几种其他的方式都不行;
如果用二楼的方法测试过了,等于是从第一个原表中取数。不是我要的效果,我要的是比如原表中有记录100条,第一次查询得到一个dt可能增设了条件查询结果就只有60条记录了,然后第二次再从这个60条记录的查询表中再查询。

 回到顶部