Session的设置模式(ConfigMode) 属性,决定了什么样的BDE别名对它是可见的。默认设置是cmAll,它可解释成[cfmVirtualorcfmPersistent]。如果设置模式值为cmAll,由Session建立的所有别名、用户系统BDE设置文件中预定义的别名以及BDE在内存中维护的所有别名均可见。
设置模式的主要目的是,允许应用程序详细说明和限定别名在Session级别上的可见性。例如把设置模式 设置成[cfmSession],可使Session只可见那些由其建立的别名,所有其他的别名都无效。
当别名在Session存在期间建立后,BDE在内存中建立一个它的拷贝。这个局部拷贝只对建立它的Session 有效,除非在同一个应用程序中其他Session的模式设置成cmAll或cfmPersistent。
使用Session的SaveConfigFile方法,可以将内存中的别名写入BDE设置文件中,这样其他BDE允许的应用程序就可以使用该别名。
Session组件有五个方法,允许应用程序跟踪BDE别名的参数和驱动程序等信息:
GetAliasNames:列出Session已经处理过的别名;
GetAliasParams:列出指定的别名的参数;
GetAliasDriverName:返回包含别名使用的驱动程序名的字符串;
GetDriverNames:返回所有有效的BDE驱动程序;
GetDriverParams:返回指定的驱动程序的驱动参数。
Session可以在其存在期间建立、修改和删除别名。方法AddAlias为SQL数据库服务器建立一个新的BDE据工作区。方法AddStandardAlias为PARADOX、DBASE、ASCII表建立一个新的BDE标准别名。
AddAlias需要三个参数:一个包含别名工作区名的字符串、一个说明SQL连接驱动类型的字符串、一个汇集连接参数的列表字符串,其格式为:
procedureAddAlias(constName, Driver:string;List:TStrings);
AddStandardAlias需要三个参数:别名名、PARADOX和DBASE表存放的完整路径、当试图打开一个没有扩展名表时的默认驱动类型,其格式为:
procedureAddStandardAlias(const Name,Path,DefaultDriver:string);
当为Session添加一个别名时,它仅对该Session和其他设置模式值为cfmPersistent的Session有效。为了使新建的别名对所有的应用程序有效,在建立别名后应该调用SaveConfigFile方法。
修改别名可以调用过程ModifyAlias,它需要二个参数:将要修改的别名名和包含修改后连接参数值的列表串,格式为:
procedureModifyAlias(Name: string;List:TStrings);
方法DeleteAlias可以使别名对Session 无效,但它不会删除写入BDE设置文件的别名。如果要将其从BDE设置文件中删除,需要在调用DeleteAlias后再调用SaveConfigFile。DeleteAlias只需一个参数:别名名。其格式为:
procedureDeleteAlias(const Name:string);
利用Session操作别名具有更大的灵活性,将给编程和发布程序尤其是C/S应用程序带来很大方便。以上例程在Win95、Delphi3.0下调试通过。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




