以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 再次从临时表中查询数据时怎么样引用表名? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=37580) |
-- 作者:scott518 -- 发布时间: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 -- 发布时间: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 -- 发布时间:2013/7/5 17:00:00 -- 这个貌似不行吧,我试过的 好像不行. |
-- 作者:Bin -- 发布时间:2013/7/5 17:01:00 -- 用变量怎么会不行呢,自己存的变量.没道理呀. |
-- 作者:scott518 -- 发布时间:2013/7/5 17:22:00 -- 谢谢二位,这样是可以了,但因为表名都是”产品编码“ ,会不会第二个临时表也从第一个产品编码取数啊,因为我的本意是要从第一个得到的临时表中取数。上述例子中看似两个表差不多,但是有时会差别很大的。 |
-- 作者:blackzhu -- 发布时间:2013/7/6 9:07:00 -- 直接在dt里面取数不行吗? |
-- 作者:scott518 -- 发布时间:2013/7/6 9:23:00 -- 就是想直接再从第一个查询到的dt里取数,但代码后面“from {}”这里不知如何引用dt这个表的表名,如果用dt.name则显示没有为“”的表名;一楼试了几种其他的方式都不行; 如果用二楼的方法测试过了,等于是从第一个原表中取数。不是我要的效果,我要的是比如原表中有记录100条,第一次查询得到一个dt可能增设了条件查询结果就只有60条记录了,然后第二次再从这个60条记录的查询表中再查询。
|