SQL-->送分  By-comobl(41分)

  • 主题发起人 主题发起人 combol
  • 开始时间 开始时间
C

combol

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如下:
原有SQL语句如下:
Select a.xm,a.gonghao,b.gz from "zhg.db" a, "gongzi.db" b
where .....
现在 gongzi.db 变成一组动态生成的数据库。
 选中的数据库的名称放在String Vname 中 
将SQL的语句改成
Select a.xm,a.gonghao,b.gz from "zhg.db" a,
"vname" b
或  vname b
.
.
等但都不行。
RUN Error Message ( No find vname.db
Vname.dbf
vname.txt
.
.
)
HELP---------------->>> :(

另外请关注:QuickReport 中MEMO字段的打印的24分
200分求解。。。。。

  
  
 
query1.sql.text := 'select ..... from ...., "'+ vname + '" b, .....';
query1.open;
 
也就是说, 把你的sql语句也变成在程序中动态指定.
 
或者用PARAMS
 
别人已经回答对了,我不多说了。
在query1的open之前,你可以单步看一看,slq语句是否是你所需.
 
to sherman: PARAMS好像不能用于表的名字吧?
 
表明可以用PARAMS,其实这个问题早有答案.
在写SQL时用format函数就可以.
Query1.sql.Add(Format('select * from "%s"',[vname]));
 
to wgzhang: 你说的方法和PARAMS可是两码事哦.
PARAMS是可以通过PARAMS[n]或Parambyname('..')来赋值的.
你的方法确实可行,但实质上只是字符串拼接而已,相当于
Query1.sql.Add('select * from '+vname);
不是PARAMS.
 
to cAkk
概念不清楚,看前面的题目是String Vname把字符串想成参数了.谢谢指教.
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部