应用Tdatabase控件,右键点击控件,打开
database
editer,设置name
(相当于bde别号)在选择drive
name
为你要应用的数据库类型,最后点defaults
按钮,设置列表框中的响应属性即可。
在这一章里我们主要介绍Delphi的数据访问部件的层次结构 多部件之间的关系 部件的属性 方法 事件以及各部件的应用 这些部件包括
● TSession部件
● 数据集部件(TTable和TQuery)
● TDatasource部件
● 字段对象TField
● 字段编辑器的使用
● TReport部件和TBatchMove部件
我们对这些部件的属性 方法和事件进行一般性的描述 读者在实际使用Delphi开发应用程序时 还可以通过联机帮助获得有关部件更详细的信息
Delphi数据访问部件的层次结构
Delphi提供了强大的开发数据库应用程序的能力 它给用户提供了大量的数据访问部件 以方便程序设计人员开发数据库应用程序 这些部件中 有些部件继承了另一些部件的属性 方法和事件 也就是说多部件之间存在着继承和被继承的关系 各部件的这种关联便构成了一个层次结构
TSession是全局性的部件 在应用程序运行时 它自动地建立 在设计阶段和运行过程中它是一个不可见的部件
TDatabase部件是为开发客户/服务器数据库应用程序时 设置登录的数据库的有关参数的 它在数据访问部件页上
TDataset部件是不可见的 TTable和TQuery部件是由它派生而来的 这两个部件一般被称为数据集部件 它们在数据访问部件页上
TDatasource部件是连接数据集部件和数据浏览部件的桥梁 它在数据访问部件页上
TFields部件对应于数据库表中的实际字段 它既可以在应用程序的运行过程中动态地生成也可以在程序设计阶段用字段编辑器创建 它是不可见的部件 在程序中我们可以通过TField部件来访问数据库记录的各个字段值
Tsession部件及其应用
TSession部件一般用得较少 但它对于一些特殊的应用是很有用的 在每一个数据库应用程序运行时Delphi自动地创建一个TSession部件 程序设计人既不能看见该部件也不能显示地创建一个TSession 部件 但是我们可以在应用程序中全局性地使用TSession部件的属性 方法
TSession部件的重要属性及作用
TSession部件的许多重要属性是用于控制数据库应用程序与数据库的连接的 在一个应用程序中 可以全局性地设置TSession的有关属性值 对与之相连接的磁盘上的数据库进行控制 TSession部件主要有下列属性
Database属性 是TSession中可以进行连接的所有数据库的数据库名字列表 这些数据库的名字常常是实际数据库的别名 包括数据库的路径 用户名 用户登录口令等参数
DatabaseCount属性 是TSession中可以进行连接的所有数据库的数量 它是一个整数
KeepCounnections属性 是一个布尔型属性 用它说明应用程序是否保持与一个非活动数据库的连接 因为对于一个数据库 当该数据库中没有相应的数据集部件(TTable或TQuery)被打开时 该数据库将自动地变成非活动的数据库 缺省情况下 KeePcounnections的值是True 就是说应用程序总是保持着与数据库的连接 即使数据库变成了非活动的数据库时 也是如此 如果将KeepConnections属性设置成False 那么当数据库由活动状态变成非活动状态时 应用程序与该数据库的连接也随之中断
NetFileDir属性 说明BDE网络控制文件的路径名
PrivateDir属性 说明存取临时文件的路径名
TSession部件的方法
TSession部件中的大部分方法是用于向用户提供与应用程序相连接的数据库的信息 如数据库的名字及别名 数据库中的表名以及数据库引擎BDE的有关参数等 在设计数据库应用程序时 想要获取有关数据库的信息 调用TSession部件的下列方法 将会大大简化程序的设计
GetAliasNames方法 调用该方法 我们可以获得数据库引擎BDE中定义的数据库别名
GetAliasParams方法 该方法主要用于获取我们在BDE中定义数据库别名时所说明的参数值 如BDE所在的目录路径以及实际名称等
GetDatabaseNames 方法 调用该方法可以帮助我们获得当前应用程序可以进行连接的所有数据库的名字 数据库的名字是用户使用BDE工具定义的实际数据库的别名
GetDriverNames方法 数据库引擎BDE可以与多种数据库管理系统相连接 如客户/服务器数据库管理系统Oracle Sybase以及本地数据库管理系统dBASE Paradox等 BDE与每一种数据库管理系统进行连接时 都有相应的驱动程序 而且这些驱动程序都可以选择地安装 通过调用GetDriverNames方法 我们可以获得当前BDE安装的数据库驱动程序的名字
GetDriverParams方法 BDE的数据库驱动程序中包含着多个参数 如支持的民族语言 DBMS的版本号 文件块大小等 对于服务器上的DBMS 还有数据库服务器的名字等等
GetTableNames方法 因为每一个数据库都是由多个数据库表组成的 我们通过说明数据库名 然后调用GetTableNames方法 便可以获得该数据库中全部的数据库表的名字
上述这些方法在调用时都需要一个字符串列表作为参数 而且都返回一个字符串列表的值
TSession部件还有一个叫DropConnections的方法用于控制应用程序与数据库的连接 当调用DropConnections方法时 应用程序与所有的数据库的连接将会切断
TSession部件应用举例
例 :我们创建一个应用程序 通过调用TSession有关的方法获取当前应用程序可以进行连接的数据库的名字以及获取其中任意一个数据库中的全部数据库表的名字
通过TSession部件获取数据库的有关信息
窗体中主要使用了两个列表框 其中列表框DatabaselistBox用于显示数据库的名字 列表框TablelistBox用于显示数据库中的表名 程序运行完后数据库的名字显示在DatabaselistBox列表框中 当用户单击DatabaselistBox列表框中的数据库名时 该数据库全部的数据库表的名字将会显示在TablelistBox列表框中 有关的程序代码如下
lishixinzhi/Article/program/Delphi/201311/25161
首先要在运行程序的机器上安装BDE驱动;
其次BDE使用的是本地数据库,如果一定要访问别人机器上的数据库,你可以考虑先设置自己机器里放数据库目录的共享属性,然后在别人的机器上为这个共享目录设置映射盘,然后再使用这个盘。
也可以试试以 \\ 开头的统一资源定位符形式来指定数据库路径。未试过,不知道能否成功
看来你是下载的源程序。没有下载数据库。找到代码中连接数据库的数据库组件。将其中的GZGL的数据库连接删除。
这是因为源程序中连接了GZGL名称的数据库。而你的电脑中没有设置这个数据库别名造成的。和BDE重新安装没有关系。而是BDE中没有设置这个别名的数据库。
问题虽然问得有点不完整,但我知道你们用的C/B模式做的系统,要实现跟数据库连接 *** 作,第一:写一个数据库连接类,第二:配置访问数据库基本元素,可以采用XML形式(配置IP,端口,用户名,密码等),第三:门诊收费系统会提供一个接口调用数据库连接类的。一般像在医院或门诊这地方,一般都是采用配置形式做数据库连接的,直接拿配置文件修改一下连接IP地址就可以了,但确保数据库服务器上有数据库表,有连接配置上还要提供一下服务器IP,端口,和数据库用户名和密码就可以了。在SQL SERVER2008数据库上只做授权 *** 作即可,授权 *** 作可以有用户管理里面进行。允许该用户查询和修改等 *** 作就OK了。希望对你有帮助。
要在访问数据时判断出应该使用哪一种技术,这并不容易。可能需要公用实用程序来处理多个数据库类型;部分数据可能出现在本地硬盘驱动器上,部分在网络上,还有一部分在主机上。甚至客户安装在设备上的产品也会使这种选择更加困难。例如,你所期待的ODBC 支持级别也许依赖于所安装的Microsoft Office 的版本,因为这个产品不提供ODBC 支持。你还会发现,ADO 类提供的对象和方法要比ODBC 类多。ADO 可以提供程序中绝对必须具有的一些特性——例如,你会发现OLE-DB 和ADO 两者都支持DFX_Currency,但在ODBC中没有对应的功能——但你要想掌握它们也必须付出一定的努力。 ============================================================================
注 使用ADO 而不是ODBC 的一个原因是,ADO 提供的对象和方法比ODBC 多。 ============================================================================
选择OLE-DB 或ODBC 时,有几条一般的规则。因为ADO 实际上只是OLE-DB 的包装,所以这些规则也适用于它。下面提供一些基本的原则,可以用来帮助你决定选择OLE-DB还是ODBC。 · 非OLE 环境 如果要访问支持ODBC 的数据库,而该数据库又在不支持OLE 的服务器上,那么ODBC 是最好的选择。 IN2qblT@s
· 非SQL 环境 ODBC 在处理SQL 时非常出众。处理非SQL 数据库时,OLE-DB则具有非常明显的优势。
· OLE 环境 对支持OLE 的服务器来说,选择OLE-DB 还是ODBC 也许是希望各半。如果有ODBC 驱动程序可供利用,那么使用ODBC 是一个好主意;否则,就只有选择OLE-DB了。
· 所需的互 *** 作性 如果需要可互 *** 作的数据库部件,那么只有选择OLE-DB。
其它的问题往往是复合问题,或者至少是失去了可以用来区别这两种技术的方便的规则。例如,有一些特征是ADO 和ODBC 所共有的。其中一个特征是,Visual C++允许你直接访问任一种技术。这意味着,可以完全访问ADO 和ODBC 都提供的每一个特征(是的,这确实不错,但也有缺陷,因为谈到访问,不能说一种技术明显地优于另一种技术)。
如果做了错误的决定,一些熟悉的技术实际上会帮助你把应用程序从ODBC转移到ADO,或反方向转移。两种技术都依靠数据库对象来管理基础的DBMS,而记录集对象则包含针对DBMS 的查询结果。另外,ODBC 和ADO 都以相似
的成员来使用数据库和记录集对象。即使要对类和成员名称做一些更改,你仍会发现,ODBC 和ADO程序设计的代码非常相似。
ODBC 和ADO 都依靠外部驱动程序来完成任务。但是,用ADO 还可以从Microsoft Jet 引擎获得额外的帮助。这个额外的支持是如何使程序设计更加容易的呢?考虑一下,要在哪里执行两个依赖不同引擎的数据库的外部连接。在ODBC 下,必须人工执行全部所需的设置。使用ADO 意味着,Microsoft Jet 引擎会为你执行这些设置。可惜的是,让ADO 做这个工作意味着会失去控制级别和一些灵活性,而这正是你从一开始就想用C++获取数据的原因。 ============================================================================
注 ODBC 和ADO 具有相似的特征,如记录集和数据库对象,尽管MFC 利用这些对象的方式完全不同。
============================================================================
有一个地方绝对不能使用ADO。如果要访问16 位数据,就不能用ADO。不管你怎么想,都必须用ODBC。然而,几乎没有人还在使用16 位数据库了。大多数的新工程都会使用32 位接口,这意味着会有一个选择。老的工程已经有了嵌入代码的数据访问方法,所以你也实在没有必要在这里做决定。ODBC 的一点不足是,不能像以前使用ADO 那样跟踪事务。以Microsoft Jet引擎使用ADO 时,应该得到事务的工作区级的支持。ODBC 只提供数据库级的事务支持,这就是说,可以从几个不同的工作区跟踪事务(这使得调试非常困难,还可能导致其它类型的问题)。
============================================================================
注释 处理ODBC 数据库时,ADO 提供数据库级的支持;这和ODBC 提供的支持层次是相同的。除非你使用Microsoft Jet 引擎,否则得不到工作区级事务支持的好处。
============================================================================
当然了,每个人有自己的开发设计规范与习惯,选择什么样的数据库开发方式还是自己的知识做保证。
以上就是关于可以不通过ODBC而直接使用BDE访问数据库吗 该如何设置全部的内容,包括:可以不通过ODBC而直接使用BDE访问数据库吗 该如何设置、DELPHI基础教程:数据访问部件的应用及编程(一)[1]、delphi用BDE开发的数据库管理软件怎样在公司局域网内使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)