数据库访问方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库访问的三种方式
访问数据库的方式有三种:直接访问,如访问Paradox和DBase 数据库: 通过ODBC 访问,如访问 Access、Foxpro等数据库: 通过内嵌(Native) 方式访问数据库,如访问SQLServer、 Oracle、DB2等。在Delphi中,可以使用Table控件或/和Query控件来访问数据库,二者的设置和用法部差不多,因此下面仅 Table控件为例说明这三种方式的特点和用法。
1.直接访问Delphi可以直接访问Paradox 和IDBase这两个桌面型的数据库系统。访问这两种类型的数据库时不需要特别的设置,只需要把文件路径赋给Table 控件的属性DatabaseName就可以访问该路径下的数据库了。当然,也可以事先建立映射数据库路径的数据库别名,然后把Table控件的DatabaseName属性设置为相应的数据库别名。
2. 通过ODBC访问访问Paradox和DBase以外的数据库,通常是通过ODBC来实现的Delphi 可以访问支持ODBC的数据库系统,如Access、SQLServer 和Oracle 等。 ODBC 访问数据当然,通过库时,首先要使用Windows的控制面板或Delphi的数据库引擎(BDE) 建立ODBC数据源的名称赋给Table控件的属性DatabaseName而达到访问该数据库的目的。这种方式的弊端是在程序运行时由Delphi系统自动弹出登录到数据库的英文界面的窗口,既不美观又不便于控制。因此,笔者建议在数据库应用程序中使用Database 控件来登录到数据库系统。把Table控件与Database控件关联的方法是把其DatabaseName 属性值指定为Database控件的DatabaseName属性值。个Database控件可以管理若干个Table 控件。和Database控件建立关联以后,只要该Database控件已经和数据库建立了连接,Table控件就可以直接访问数据库而无须再次登录。
3. 通过内嵌方式访问Delphi 中可以不通过ODBC,而以内嵌方式访问SQLServer、Oracle、DB2 等数据库系统。这需要使用数据库别名来指定数据库,数据库别名可以事先建立,也可以在程序运行时动态创建。前者称为静态别名,后者称为动态别名。使用数据库别名来访问数据库的方法和使用。DBC数据源的情形相同,这里不再累述。通过内嵌方式访问数据库的静态别名必须在BDE中建立。以访问SQL Server 数据库为例,在建立别名时必须指定数据库服务器的名称 (SERVER NAME) 、主机名(HOSTNAME) 以及要访问的数据库名称(DATABASE NAME) ,可以指定登录用户名(USERNAME) 和口令(PASSWORD) 等。通过动态创建的别名来访问数据库必须使用Database控件。如何设置Database控件中访问数据库的参数呢?用鼠标双击Database控件,出现参数设置窗口,在"Drivername" 栏选择要访问的数据库系统,如"MSSQL",然后选择按钮"Defaults",就会把BDE 中该数据库系统所需的参数名称和缺省值加入到"Parameteroverrides"列表中。根据实际情况更改参数中的"SERVERNAME仁"DATABASE NAME" 等工页。然后选择按钮"OK"就可以了。需要说明的两点是,以内嵌方式访问数据库需要在安装Delphi13.0时指定安装SQLLit山Query 控件的SQL语句不能以分号结尾。结论通过内嵌方式访问数据库与通过ODBC访问数据库相比,前者的速度要快些。而且,内嵌方式可以在程序中动态地设置连接数据库所需的参数,用户不必设置。DBC数据源,这就降低了对用户技术水平的要求,并且减少了用户的工作量。从系统配置的难易和复杂程度来看,使用内嵌方式开发出的数据库应用系统更便于普通用户使用。因此,笔者建议在开发较大型的应用系统时,最好通过内嵌方式来访问数据库。