动态创建表(50分)

  • 主题发起人 主题发起人 kane
  • 开始时间 开始时间
K

kane

Unregistered / Unconfirmed
GUEST, unregistred user!
我在TQuery.SQL中
create table :tablename
(name varchar(8)
)

为何赋参数后报错,是不允许把表名设为参数吗
 
create table "testtable.dbf"
(name char(8)
)
这样就可以了,关于SQL,你如果有什么不了解的,可以查Delphi3中的
Local SQL help 就好了
 
对不起,我以为你和我一样什么都不懂了,才会那么告诉你,
抱歉!你看这样行吗?
procedure TForm1.Button1Click(Sender: TObject);
var ss:string;
begin
with query1 do begin
sql.Clear;
ss :='create table "'+edit1.text+'" (name char(8))';
sql.add(ss);
ExecSQL;
end;
end;
 
呵呵,没事,我也是这样干的,但是
我想通过TQuery的参数试试,但是好象不行
 
delphi设置参数是很严,用rxlib的带宏的好些!
 
可是如果不是表名,而是其中的一个字段赋值
就可以,那是为什么呢
 
也只有给字段复值可以!在早期的delphi可以象你那么用!
你动态的创建Tparam试一试!
 
各位大虾,我也遇到了这样的问题,开始想用表名作参数,作为一个sql存起来
但delphi4中不行,最后也只好取了一个折中的办法,采取了串拼接,
那位要能解决可真是太好了.
 
当然有人能解决。
找sql标准的制订者呀。
 
这与Sql本身无关!
 
Delphi4中对Param要求比较严,昨天我做了一个测试,
Query.Sql:='Select * from User_Name:=Rpad(:Usr,10)';
在Delphi程序中只有
Query.ParamByName('usr').AsString:='xu';
执行才可以通过.(NT4.0/Oracle7.3,)
意思是只有在User_Name的长度与参数的长度相同才可以.
对于其他DB未进行测试
 
接受答案了.
 
后退
顶部