|
一、VisualBasic访问数据库
在VisualBasic中通过数据访问控件或数据访问对象(DAO)可以访问下列数据库:
1.Jet数据库,即Microsoft Access
2.ISAM数据库。如:dBase、FoxPro等。
3.ODBC数据库。
凡是遵循ODBC标准的客户/服务器数据库。
如:Microsoft SQL Server、Oracle
二、数据控件
[属性:]
·Connect属性
指定打开的数据库类型,并且包括参数,如用户和口令等。
[例如:]
打开Access数据库 (缺省):Connect = "Access"
打开FoxPro2.5数据库:Connect = "FoxPro 2.5"
·DatabaseName属性
确定数据控件访问哪一个数据库。
[注:]
对于多表数据库它为具体的数据库文件名。
[例:]
Access数据库:DatabaseName = "C:\demo.mdb"
对于单表数据库它为具体的数据库文件所在的目录,而具体文件名放在RocordSouce属性中。
[例:]
访问FoxPro数据库文件 C:\FOX\Sample.DBF:
DatabaseName = "C:\fox"
RecordSource = "sample" '不带文件扩展名
·RecordSource属性
确定数据控件的记录集,即:所要访问的数据内容。它可以是一个表名、存储查询名或一条SQL语句。
[例:]
访问RYK表所有数据。
RecordSource = "RYK"
访问RYK表中1982年以前出生的数据。
RecordSource = "Select * from RYK where [Birthday]<#1/1/1982#"
[注]:当我们在运行时修改了该属性后,需要调用Refresh方法刷新记录集。
[方法:]
·Refresh方法
当我们在运行时修改了RecordSource属性后,需要调用该方法刷新记录集。
·UpdateRecord方法
将绑定在数据控件上的控件的数据写入数据库中,即:当我们修改了数据后调用该方法确认修改。
·CancelUpdate方法
将数据库中数据从新读到绑定在数据控件上的控件中,即:当我们修改了数据后调用该方法放弃修改。(详见绑定控件)
·Validate事件
当我们移动记录集记录指针时发生。
[例如:]
我们将记录集记录指针从记录A移动到记录B时,当产生Validate事件时,记录指针仍在记录A上。
Sub XXXX_Validate(Action As Integer, Save As Integer)
[其中:]
Action 指出如何产生了该事件,如:移动、增加、查询等。
Save 表示是否保存已修改的数据。
当我们修改了绑定在数据控件的数据,以没有调用UpdateRecord,而要移动指针时,Save=True。如果在事件中令Save=False,则放弃修改。
[例:]
Sub XXXX_Validate(Action As Integer, Save As Integer)
If Save Then
i = MsgBox("Data changed,Save?", vbYesNo)
If i = vbNo Then Save = False
End If
End Sub
[事件]
·Reposition事件
当我们移动记录集记录指针时发生。
[例如:]
我们将记录集记录指针从记录A移动到记录B时,当产生Reposition事件时,记录指针已移到记录B上。
通常我们在该事件中显示当前的指针位置。
[例:]
Sub XXXX_Reposition()
XXXX.Caption = XXXX.Recordset.AbsolutePosition + 1
End Sub
|