关于sql语句中的变量问题!(100分)

  • 主题发起人 主题发起人 oulin
  • 开始时间 开始时间
O

oulin

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue]
query1.close;
query1.sql.clear;
query1.sql.add('select 字段1,字段2 from 表名');
query1.sql.add('where 字段1=:zd');
query1.parambyname('zd').asstring:=edit1.text;
query1.open;
其中的表名我想用个变量来代替,但不知行不行!!
因为我有几个相同字段不同内容的表,想通过选择不同的表名来
显示不同的内容!请高手们指教!(access表)[/blue]
 
select a.field1,b.field1 where table1 a,table2,b where a.field1=b.field1
给分。
 
不是同时对两个表进行操作,
我的意思是:表名只有一个,由我在界面上选择而决定!
 
query1.sql.add(Format('select 字段1,字段2 from %s', [表名]));
 
query1.close;
query1.sql.clear;
query1.sql.add('select 字段1,字段2 from '+'#39'+表名变量+'#39');
query1.sql.add('where 字段1=:zd');
query1.parambyname('zd').asstring:=edit1.text;
query1.open;
 
可以的,我曾用数组做过半13个表的查询
 
用format函数吧,即象小人物写的一样!
 
请”小人物“和"yuzhizhi" 都说明一下
你的表名、表名变量是怎么赋值的!
:)我很笨,说清楚点,Ok后就送分!
 
我在界面上选择时间的时候,比如选则了'2001' 年分,又选择了‘10’月份
那么表名的应该是“2001_10"
具体怎么赋值????
谢谢!
 
可以,代码如下
ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from '+Edit1.Text );
//edit1.text 中输入你的表名
ADOQuery1.Open;
 
Sql.Text:='select 字段1,字段2 from '+表名+' where 字段1=:zd');
query1.parambyname('zd').asstring:=edit1.text;

其中表名='2001-'+'10',用字符串的连接生成表名,然后再用字符串的连接指定给SQL语句
 
var
bm :string;
begin
bm := '2001_10';
...
sql.add('select 字段1,字段2 from ' + bm);
...
end;
注:'from '后面的空格不能少!
 
谢谢各位大侠!
问题已经解决了!
尤其是dlnew! 送你100分!
谢谢!
:)
 
后退
顶部