author:jyu1221(天同)
qq : 19632995
msn : jyu1108@hotmail.com
email : jyu1221@163.net
大家都知道,如果把access数据库直接放在服务器上,客户端通过文件访问方式来存取数据,这样效率就太低了。
为了解决这个问题,现通过三层结构模型的方式来实现access的数据库的访问。这里的access数据库也可以换成任何
一种关系性数据库,具体结构如下:
客户程序 | 中间层 | 数据库
| |
tcp/ip
应用程序 <--> raccessclient <----------------------->raccessservice <-----ado,rdo,dao -----> access
客户端接口 服务程序
| |
| |
| |
| |
|--------------在原来的基础上加了一层---------------- |
客户端接口采用vb中的类来实现,程序中使用了3个类,cconnection, crecordset, ctcpip,其中ctcpip是关于访问网络方面的,与用户基本上没有直接关系,和用户有关的是cconnection,crecordset这2个类,它们分别相当于ado中adodb.connection和adodb.recordset。有了这2个接口类,就可以用来实现大部分的数据库操作,具体用法如下:
1.定义对象
dim conn as new cconnection 'adodb.connection
dim rs as new crecordset 'adodb.recordset
2.打开服务器端数据库
dim bconn as boolean
bconn = conn.openconnection("192.168.1.155", "dsn=testmdb;driver={microsoft access driver (*.mdb)};uid=admin;pwd=;")
if not bconn then
msgbox conn.getlasterror()
set conn = nothing
exit sub
end if
3.1.打开服务器上的记录集,并获取数据
set rs = conn.openresultset("select * from zdxx")
if rs is nothing then
msgbox "记录集合打开错误!"