📄 readme.txt
字号:
远程访问ACCESS数据库
1.0版
EMAIL:jyu1221@163.net
QQ:19632995
MSN:jyu1108@hotmail.com
ICQ:158593309
DATA:2002.05.23
本软件包的文件列表
readme.txt 本文档
RAccessService.exe 在服务器上执行
RCAccess.dll 拷贝到系统目录,然后使用"regsvr32.exe RCAccess.dll"来注册
prjExample1.vbp VB的例子,例子中实现,获取数据,插入数据等功能
prjExample1.vbw
modExample1.bas
本软件用于实现远程访问ACCESS,包括一切可以使用ODBC来访问的数据源。
其模型结构如下:
| |
客户程序 | 中间层 | 数据库
| |
TCP/IP
应用程序 <--> RCAccess <--------------------------------->RAccessService <-----ADO,RDO,DAO -----> ACCESS
客户端接口 服务程序
| |
| |
| |
| |
|------------------在原来的基础上加了一层---------------- |
功能:
可以实现客户服务模式来访问远程的ACCESS数据库。
优点:
可以降低数据库的费用,性能高,访问非常方便,接口类似于RDO,ADO等,可以把单机板的程序修改为服务器版的程序。
使用方法:
在程序中添加对RCAccess.dll引用,然后在程序中定义二个变量,
Dim DB As New RAccessDB
Dim RS As RAccessRS
接下来可以使用OpenConnection来打开远程服务器(可以是WIN平台的任何机器)上的数据库,它有2个参数,第一个参数是服务器
地址,第二个参数是用于打开数据库的ODBC的连接字符串
b = DB.OpenConnection("192.168.1.125", "DSN=testmdb;DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;PWD=;")
如果打开成功,则返回true,否则返回false,失败可以通过DB.GetLastError来获取错误原因。
然后可以使用DB.OpenResultset()来打开记录集,需要判断记录集不为空,以及没有错误发生,则打开成功。
可以通过
Do Until RS.EOF
'获取记录
RS.MoveNext
Loop
这个句型来获取数据。
如果需要增加,删除,更新数据,则可以使用DB.Execute()来实现,它有2个参数,第一个是SQL语句,第二个是更新的记录条数,
如果成功则函数返回true,否则返回false
具体参考代码如下,
Sub main()
Dim DB As New RAccessDB
Dim RS As RAccessRS
Dim b As Boolean
b = DB.OpenConnection("192.168.1.125", "DSN=testmdb;DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;PWD=;")
If Not b Then
MsgBox DB.GetLastError
Exit Sub
End If
Set RS = DB.OpenResultset("SELECT * FROM zdxx")
If RS Is Nothing Then
MsgBox "记录集合打开错误!" & DB.GetLastError
Exit Sub
End If
If RS.IsError() Then
MsgBox RS.GetLastError
Exit Sub
End If
Dim nFieldsCount As Long
nFieldsCount = RS.GetFieldsCount
Do Until RS.EOF
s = ""
For i = 0 To nFieldsCount - 1
s = s & RS.GetFieldValue(i) & ","
Next
Debug.Print s
RS.MoveNext
Loop
Set RS = Nothing
Dim nRecordAffected As Long
b = DB.Execute("INSERT into zdxx(zdxx,lkd,tabstop) values('测试内容','130','1') ", nRecordAffected) '用于添加记录
'b = DB.Execute("update zdxx set lkd =123 ", nRecordAffected) '用于更新记录
'b = DB.Execute("delete * from zdxx where zdxx='测试内容'", nRecordAffected) '用于删除记录
If b Then
MsgBox nRecordAffected
End If
DB.CloseConnection
Set DB = Nothing
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -