《vb中访问数据库的操作》由会员分享,可在线阅读,更多相关《vb中访问数据库的操作(11页珍藏版)》请在金锄头文库上搜索。
1、ADO微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。ADO包含一些顶层的对象: 连接:代表到数据库的连接 记录集:代表数据库记录的一个集合 命令:代表一个SQL命令 记录:代表数据的一个集合 ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic,甚至Delphi。配置ODBC数据源返回连接数据库时用到的连接字符串Public Function ConnectString() As String Connec
2、tString = DSN=jsj.dsn;UID= & Trim(Str_username) & ;PWD= & Trim(Str_userpw) & ConnectString=DRIVER=SQL Server;SERVER=127.0.0.1;UID=sa;PWD=123;DATABASE=man ConnectString=provider=microsoft.jet.oledb.4.0;data source=C: db1.mdb; End Function定义执行插入、更新、删除的方法Public Sub ExecuteSQL(ByVal SQL As String) Dim c
3、nn As ADODB.Connection On Error GoTo ExecuteSQL_Error Set cnn = New ADODB.Connection cnn.Open ConnectString cnn.Execute SQLExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit SubExecuteSQL_Error: Resume ExecuteSQL_ExitEnd Sub 定义执行查询的函数Public Function Query(ByVal SQL As String) As ADODB.Records
4、et Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset On Error GoTo Query_Error Set cnn = New ADODB.Connection cnn.Open ConnectString Set rst = New ADODB.Recordset rst.Open SQL, cnn, adOpenKeyset, adLockOptimistic Set Query = rstQuery_Exit: Set rst = Nothing Set cnn = Nothing Exit FunctionQuery_
5、Error: Resume Query_ExitEnd FunctionPublic Function DbTest() As Integer Dim cnn As ADODB.Connection On Error GoTo DbTest_Error DbTest = -1 Set cnn = New ADODB.Connection cnn.Open ConnectString txtSQL = SELECT * FROM 状态 Set rst = New ADODB.Recordset rst.Open txtSQL, cnn If rst.EOF() = False Then DbTe
6、st = rst.Fields(0)End IfWhile rst.EOF = False print rs!pass rs.MoveNext wend cnn.Close Set cnn = Nothing Set rst = Nothing Exit FunctionDbTest_Error: Set cnn = NothingEnd Function记录集对象OPEN方法的语法格式:RecordSet对象.Open Source, ActiveConnection, CousorType,lockType,OptionSource: Command对象名或SQL语句或数据表名Active
7、Connection:Connection对象名或包含数据库连接信息的字符串CursorType:0(ForwardOnly):只能在数据库里向前进行浏览操作,查询效率最佳。1(Keyset):能在数据库里进行完整的浏览操作,对于数据的新增与删除并不会自动更新,但对于修改目前被指向数据记录的数据,则会自动更新。2(Dynamicset): 能在数据库里进行完整的浏览操作,对于目前被指向的数据记录内的数据进行新增、删除及修改的操作都会自动更新,达到及时更新的效果,但是查询效率也因此降低。3(Staticset):能在数据库里进行完整的浏览操作,对于目前被指向的数据记录内的数据进行新增、删除及修改
8、的操作都会自动更新,但是却不会及时地反映到其他用户的数据里,也就是说,其他用户并不会马上看到这项数据结果。LockType参数,默认值是1:1(ReadOnly):只读模式,只允许用户对数据库进行读取的操作。2(Pessimistic):代表保守模式(悲观),可以增加、修改、删除记录,但是当记录处于被维护的状态时,就会被锁定。3(Optimistic):表示开放模式(乐观),可以增加、修改、删除记录,而且只有保存文件时才会锁定记录数据,否则即使是在维护的状态时,仍然可以进行增加、修改、删除的操作。4(BatchOlotimistic):表示开放锁定模式,记录数据都会在Bacth的模式下被使用。Option参数:Adcmdtext( SQL语句)Adcmdtable(表名)Adcmdstoreproc(存储过程)Adcmdunknown(命令类型未知)