VB6.0数据库访问技术与例程解析
2008-04-09 04:43:36来源:互联网 阅读 ()
![新老客户大回馈,云服务器低至5折](/info/templets/default/images/760x90_D.jpg)
引言
作为微软旗下一款优秀的RAD工具,VB在数据库应用开发方面的能力十分强大。微软设计了多种数据库访问方法,下面通过对VB访问数据库的多种技术进行深入剖析,并总结出实际开发中的几点经验。希望能够对那VB的初学者有所帮助。(注意,文中所有的描述均在Windows
2000 professional和Visual Basic 6.0的环境下进行的)
一.
DAO、RDO、ODBC和ADO
'整个程序功能是选择不同的连接方式来进行显示工作,三种方式显示效果完全相同
'下面是主程序过程
Private Sub
Command1_Click()
Dim selitem As Integer
'判断连接数据库的方式
If
Option1.Value = True Then
selitem = 1
Else
If Option2.Value
= True Then
selitem = 2
Else
selitem = 3
End
If
End If
'选取不同的数据库连接方式
Select Case selitem
Case
1:
'使用DAO的数据库连接方式
Call ShowByDAO
Case
2:
'使用ADO的数据库连接方式
Call ShowByADO
Case
3:
'使用ODBC的数据库连接方式
Call ShowByODBC
Case
4:
'使用OLEDB的数据库连接方式
Call ShowByOLEDB
End Select
End
Sub
Private Sub ShowByDAO()
'使用DAO的数据库连接方式
Dim db As
Database
Dim rs As Recordset
Dim sqlstr$ '存放查询语句
Set db =
OpenDatabase(App.Path & "\db1.mdb")
sqlstr = "select * from
成绩表"
Set rs = db.OpenRecordset(sqlstr)
'显示结果
Call
GridShow(rs)
End Sub
Sub ShowByADO()
Dim conn As New
ADODB.Connection
Dim rs As New
ADODB.Recordset
'使用数据源来连接数据库
conn.Open
"dsn=data"
rs.CursorType = adOpenKeyset
rs.LockType =
adLockOptimistic
rs.Open "select * from 成绩表", conn
Call
GridShowOfADO(rs)
End Sub
Sub ShowByODBC()
Dim conn As New
ADODB.Connection
Dim rs As New
ADODB.Recordset
'使用数据源来连接数据库
conn.Open "Provider=MSDASQL.1;Persist
Security Info=False;Data Source=data"
rs.Open "select * from 成绩表",
conn
'显示结果
Call GridShowOfADO(rs)
End Sub
Sub
ShowByOLEDB()
Dim conn As New ADODB.Connection
Dim rs As New
ADODB.Recordset
'使用数据源来连接数据库
conn.Open
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path &
"\db1.mdb" ";Persist Security Info=False"
rs.Open "select * from
成绩表", conn
'显示结果
Call GridShowOfADO(rs)
End Sub
Sub GridShow(rs As
Recordset)
'对dao方式进行显示工作
MSFlexGrid1.TextMatrix(0, 0) =
"姓名"
MSFlexGrid1.TextMatrix(0, 1) = "性别"
MSFlexGrid1.TextMatrix(0,
2) = "语文"
MSFlexGrid1.TextMatrix(0, 3) =
"数学"
MSFlexGrid1.TextMatrix(0, 4) =
"英语"
rs.MoveLast
MSFlexGrid1.Rows = rs.RecordCount
1
MSFlexGrid1.Cols = rs.Fields.Count
Dim i%
i =
1
rs.MoveFirst
While (Not rs.EOF)
MSFlexGrid1.TextMatrix(i, 0) =
rs.Fields(0)
MSFlexGrid1.TextMatrix(i, 1) =
rs.Fields(1)
MSFlexGrid1.TextMatrix(i, 2) =
rs.Fields(2)
MSFlexGrid1.TextMatrix(i, 3) =
rs.Fields(3)
MSFlexGrid1.TextMatrix(i, 4) =
rs.Fields(4)
rs.MoveNext
i = i 1
'If (rs.EOF = True)
Then
' Exit For
Wend
End Sub
Sub GridShowOfADO(rs As
ADODB.Recordset)
'对ado方式进行显示工作
MSFlexGrid1.TextMatrix(0, 0) =
"姓名"
MSFlexGrid1.TextMatrix(0, 1) = "性别"
MSFlexGrid1.TextMatrix(0,
2) = "语文"
MSFlexGrid1.TextMatrix(0, 3) =
"数学"
MSFlexGrid1.TextMatrix(0, 4) =
"英语"
'注意recordcount属性必须在当前记录指针在最后一条记录时才会返回正确的值
rs.MoveLast
MSFlexGrid1.Rows
= rs.RecordCount 1
MSFlexGrid1.Cols = rs.Fields.Count
Dim
i%
i = 1
rs.MoveFirst
While (Not
rs.EOF)
MSFlexGrid1.TextMatrix(i, 0) =
rs.Fields(0)
MSFlexGrid1.TextMatrix(i, 1) =
rs.Fields(1)
MSFlexGrid1.TextMatrix(i, 2) =
rs.Fields(2)
MSFlexGrid1.TextMatrix(i, 3) =
rs.Fields(3)
MSFlexGrid1.TextMatrix(i, 4) =
rs.Fields(4)
rs.MoveNext
i = i 1
Wend
End
Sub
Private Sub Command2_Click()
End
End
Sub
上述代码已经在Windows 2000 professional和Visual Basic
6.0的环境下调试成功。
四.小结
本文通过对数据库访问相关技术的分析与总结,提出若干有价值的经验。借鉴这些经验,会给开发带来一定的便利。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash