关于Session在SQL中应用问题?急!(50分)

  • 主题发起人 主题发起人 wand
  • 开始时间 开始时间
W

wand

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用Session(系统生成的)判断SQL库中的表是否存在!方法我知道用session.GetTableNames(...)
但是具体的写法还望大家赐教!
Session.GetTableNames('XXXXX','',False,true,Ap)
但是Session一直是指向BDE中的paradox库!查不到SQL中的!
 
这是该函数的原形:
GetTableNames(const DatabaseName, Pattern: String; Extensions, SystemTables: Boolean; List: TStrings);
其中
DatabaseName 是数据库别名,如DBDEMOS等
Pattern 是表名的格式,如'*.db'或'*.dbf'等,如果是SQL数据库,用''就可以了
Extensions 是否包括扩展名,在Paradox或dBASE种用true,在SQL数据库种用false
SystemTables 是否包括系统表
List 你得到的表的列表。
你说的“Session一直是指向BDE中的paradox库”是什么意思?指向什么库是靠DatabaseName参数确定的。
以下是例:
var
TableList : TStringList;
begin
TableList := TStringList.Create;
try
Session.GetTableNames('DBDEMOS', '*.db',False, False, TableList);
finally
TableList.Free;
end;
 
我是指它找不到SQL中的库和表,而我在SQL中已经都设置好库是“Wan”了!而且写的也是
Session.GetTableNames('Wan','',False,true,Ap)可是不行!他老是指向BDE中设置的
别名为“Wan”的paradox库,如果删除BDE中的别名为“Wan”的paradox库设置,执行
Session.GetTableNames('Wan','',False,true,Ap)就会被提示找不到数据库!!!
我形知道的是该如何设置使它找到SQL库并能实行对表名的检索!
 
在BDE中建立一个叫“Wan1”的别名,指向你的SQL库,然后用以下方法试试:
Session.GetTableNames('Wan1','',False,true,Ap)
 
多人接受答案了。
 
后退
顶部