列表,从中选择一个如 bm部门设定 ADOTable1 组件的 Active 属性为 True则马上可以在 DbGrid中看到表中的数据了。
如果马上运行程序就可以在窗口中浏览和编辑数据了。
到此,你已经初步学会了使用 ADO 存取数据了。
通过上面的示例, 我们看看通过 ADO 和 BDE 来读取数据有什么区别呢?其实从操作来说没有多大区别,当然内部的机理是不一样的,但我们无需关心。
也许读者会说,比通过 BDE读取数据多了一个 ADOConnection 组件, 其实我们完全可以不用 ADOConnection 组件。
这样试试:删除 ADOConnection 组件,点击 ADOTable1 组件的 ConnectionString属性后的省略号 ADO 组件 1 ADOConnection 组件。
ADOConnection 组件有点类似于 DataBase 组件,正如在一些程序中可以不使用 DataBase 组件一样,我们在上面的示例中也演示了不使用 ADOConnection组件的方法。
不过,在用 ADO 写比较复杂的数据库程序时最好还是用 ADOConnection 组件,因为 ADOConnection 组件起到了一个共享桥梁作用, 其他五个组件都可以通过它来操作数据库,这样就避免每个组件都要建立自己的连接字符串。
ADOConnection 组件对其他五个组件来说就相当于数据库别名。
既然相当于数据库别名, 那么另外一个优点是如果你的后台数据库的连接变化了, 那么在程序里只需仅仅将 ADOConnection 组件的连接属性改变一下就可以了,否则,需要修改所有数据对象组件的连接属性,岂不太麻烦了。
所以建议大家养成一个好习惯,这样写出来的程序不易出错、维护方便。
ADOConnection 组件的重要属性也就是上面示例中提到的 ConnectionString 属性了,另外一个经常使用的是 logionPrompt 属性,上面也已经介绍了。
现在补充说明一下ConnectionString 属性设定时图 17-1 中的 UseData LinkFile 是怎么回事: 通过前面的示例我们知道, ConnectionString 属性值是一个连接字符串,为了便于程序移植方便, 特别是当程序已经发布后需要修改连接数据库信息时, 再重新编译发布执行文件比较麻烦, 这时 udl 文件就可以发挥很好的作用, 其实 udl 文件的内容就是连接字符串信息, 是文本文件, 用户修改一下这个文件就可达到目的, 无需再更新 EXE 文件了。
UDL 文件如何建立呢?常用方法:用记事本建立一个空文本文件,保存为如 demo.udl一般情况下 udl 是和 ADO 关联的,双击 demo.udl 文件会自动打开图 17-2大家都会设定了吧,设定完毕退出后,再打开 demo.udl 文件看看就会明白,UDL 文件就像一个 INI 文件,例如以我们上面的示例建立的 demo.udl 文件内容如下: oledb Everything afterthis line is an OLE DB initstring ProviderMicrosoft.Jet.OLEDB.4.0DataSourceg:lklblklb.mdbModeReadWriteShareDeny NonePersist Security InfoFalse ADOConnection 组件的事件和方法都不太常用,如果需要建议大家看看帮助文件吧,在这里由于版面所限不能详细解释, 其他几个 ADO 组件的介绍也是如此, 只介绍最常用的属性和方法、事件。
2 ADOTable 组件。
ADOTable 组件和前面讲座中讲到的 table 组件非常类似,许多属性、事件和方法也一样。
如果不使用 ADOConnection 组件,ADOTable 组件的 ConnectionString属 性 就 需 要 设 定 , 上 面 我 们 已 经 讲 了 , 如 果 使 用 了 ADOConnection 组 件 , 那 么ConnectionString 属性就不需要设定了,直接设定其 Connection 属性指向 ADOConnection组件即可。
另外一个重要属性就是 tablename 属性,这个就不用讲了吧。
需要指出的是,虽然 ADOTable 组件和 table 组件在属性设定、事件、方法等方面非常相似,但还是有不同之处,比如 Table 组件有 findkey 方法,但在 ADOTable 组件中却取消了 findkey 方法,因此在程序移植时需要注意,以防出现隐患。
3 ADOQuery 组件。
此组件使用方法和 query 组件类似,其 ConnectionString 属性和Connection 属性的设定同 ADOTable 组件。
有一点需要注意, 在程序中为参数赋值时和 query组件有点区别,一般情况下原来的赋值语句为: ParamBynamep1.value:s1 而在 ADOQuery 中,需要这样写: parameters.ParamBynamep1.value:s1 原来在代码中使用的 prepare 方法在这里不能再使用了。
4 ADOStoredProc 组件。
此组件是用来执行存储过程的,和 StoredProc 类似。
由于在前面我们没有详细讲解存储过程是怎么回事,这里给大家做稍详细一点的介绍。
存储过程主要是对客户/服务器C/S两层数据库或多层数据库而言的,由于文件型数据库如 ACCESS 等等不存在真正的存储过程,所以一般用不到存储过程,不过对 ACCESS 数据库而言有类似存储过程的“查询”,后面我们再讲。
简单一点来说,存储过程就是存放在数据库服务器上的一段程序代码,用户程序可直接调用,无需在用户程序中再做更多的工作。
为什么要把存储过程放在数据库服务器上呢?因为放在服务器上的代码在执行时效率高,能较少网络数据流量,防止出现网络阻塞。
比如,在查询数据时,调用存储过程可以只把结果传递回来而无需先传递数据到本地再查询结果。
第三章 使用 SQL 语言操作关系型数据库3.1 数据库的概念数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
关系数据库产品是怎么发展起来的呢?1、 对关系模型的支持 第一阶段(70 年代)的 RDBMS 仅支持关系数据结构和基.
上一篇:
高校教务管理系统
下一篇:
法律专业开题报告范文