在sql中怎样设置才可以打开任意的数据库文件?(100分)

  • 主题发起人 主题发起人 den yin chang
  • 开始时间 开始时间
D

den yin chang

Unregistered / Unconfirmed
GUEST, unregistred user!
我在编程中遇到一个问题:在SQL中用如下语句打开任意的数据库文件,却在编译中出错,
请各位高手给予解答,谢!
procedure Tprform.Button1Click(Sender: TObject);
var filepath:string; //filepath为任意数据库文件变量
begin
filepath:=filelistbox1.FileName;
with query1 do
begin
close;
sql.Clear;
sql.add('select * from "filepath"') //在SQL中可否调用filepath变量打开数据文件?
open;
end;
end;
 
用 Tquery 是不可以的,因为BDE不知道连接的是哪一种数据库。
 
Zero_Cool:若是这样,那么用什么办法可以解决此问题?请给予解答,多谢!
 
如果是PARDOX或DBF、FOXPRO数据库
用一个DATABASE控件
procedure Tprform.Button1Click(Sender: TObject);
var filepath:string;
begin
//filepath为任意数据库文件所在的目录
filepath:=filelistbox1.FileName;
database1.connected:=false;
database1.databasename:=filepath;
with query1 do
begin
close;
sql.Clear;
sql.add('select * from tablename ') //在SQL中可否调用filepath变量打开数据文件?
open;
end;
end;
 
不可能简单的解决这个问题,因为有些数据库需要对bde进行配置,或在程序中
设置别名才可以访问。

最好是你已经确定使用的是哪一种数据库。
 
arm:您好!很高兴得到你的解答。你的方法我已编译过,不过,还有一个问题没法通过,就
是使用语句:
sql.add('select * from tablename ') 在select里你是指定库名tablename,而我
要打开的是任意的数据库名,请问在select里可否把打开的库名设为变量?或用什么方法可
解决此问题?
 
用:sql.add('select * from '+tablename)
 
同意:TYZhang
 
tyzhang:tablename应如何定义?
 
tablename是一个字符串,里面存的是表的名字
 
To:TYZHang
用sql.add('select * from '+tablename)语句在程序运行时出错。
 
用sql.add('select * from '''+tablename+'''')
 
procdure buttonclick
var tablename:string;
begin
.
.
.
tablename:='abc.db';

query1.sql.clear;
query1.sql.add('select * from '+tabname);注意from后面一定要加上一个空格
query1.open;
.
.
.


end;
 
to:海风,TYZHANG
多谢你们!问题已解决,现给你们加分。可否与你们交朋友,我的邮箱是d81@163.net
,可否把你们的邮箱告知我?
 
好吧,有空来信
xin_jian@21cn.com
 
后退
顶部