'*定义一个连接
Dim Conn As ADODB.Connection
'*定义一个记录集
Dim mrc As ADODB.Recordset
'*分别实例化
Set Conn = New ADODB.Connection
set mrc =New ADODB.Recordset
'*定义一个连接字符串
dim ConnectString as string
ConnectString="provider=microsoft.jet.oledb.4.0data source=" &App.Path &"\data\数据库名.mdbjet oledb:database password=数据库密码"
'*打开连接
Conn1.Open ConnectString
'*定义游标位置
Conn1.CursorLocation = adUseClient
'*查询记录集(从student表中找出名子为"张三"的记录)
mrc.open "select * from student where name='张三'",Conn, adOpenKeyset, adLockOptimistic
'*现在你已经得到了你想要查询的记录集了,那就是mrc
'*你可以把此记录集与DataGrid榜定,用datagrid显示你查询的记录
set me.datagrid.datasource=mrc
VB可将Sql结构化查询语句赋值Ado(ActiveX 数据对象)或ADO Data 控件,访问和 *** 作数据库。
ADO (ActiveX 数据对象),这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft 和非 Microsoft 的技术更好的集成;为本地和远程数据数据提供的通用接口;可远程访问的和断开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
ADO Data 控件, 这是一种新的、OLEDB 识别的数据源控件,其功能与内部的 Data 控件和 Remote Data 控件十分相似,通过这种方式允许用户用最少的代码来创建数据库应用程序。
Visual Basic 6.0 中,已经可以将任何 ADO/OLE DB 数据源绑定到任何 ADO/OLE DB 数据使用者上。在运行时,可以设置控件的 DataSource 属性来将控件动态地绑定到数据源。可以创建用作数据源和数据使用者的类,并且通过新的 BindingsCollection 对象将这些类绑定在一起。可以创建与 ADO 数据控件相似的、用作数据源的用户控件。还可以创建与 DataGrid 控件相似的、复杂绑定的用户控件。
以下是经ADO (ActiveX 数据对象)访问Access数据库的实例代码:
Dim cnn As New ConnectionDim rs As New Recordset
Dim sql As String
Dim ARR
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\wdOld.mdbPersist Security Info=False"
sql = "select 故障名称 from guzhang_bm"
rs.Open sql, cnn
Combo1.Text = "故障名称"
Do While Not rs.EOF
Combo1.AddItem rs("故障名称")
rs.MoveNext '打开表
Loop
rs.Close
cnn.Close
以下是使用ADO Data 控件访问Access数据库德实例代码:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" & App.Path & "\wd.mdbPersist Security Info=False"Adodc1.RecordSource = "select * from jishijilu" ' where shijian like'%8112%' And gyh_riqi like'%10%'"
Adodc1.Refresh
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Row = 1
MSHFlexGrid1.ColSel = MSHFlexGrid1.Cols - 1
使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即:①数据访问对象/Jet
②为ODBC API编程
③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程
④RDO 远程数据对象(RemoteData Objects)
⑤ADO 数据对象(Active Data Objects)
1、数据访问对象/Jet
VB支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它的确有许多优点。DAO/Jet是为了实现从VB访问Access数据库而开发的程序接口对象。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBC.DLL)通过调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。下面是一个用DAOs访问SQL Server的VB实例。
注释:Form Declarations
Dim mydb As Database
Dim mydynaset As Dynaset オ
Private Sub Form_Load()
Set mydb = OpenDatabase("", False, False, "ODBCDSN=MyserverWSID=LCLDATABASE = sales")
Set mydynaset = mydb CreateDynaset("Select*from Customers") オ
End Sub ァ
上述例子是以非独占、非只读方式打开sales数据库,并检索Customers表中的所有字段。OpenDatabase函数的最后一个参数是ODBC连接字符串参数,它指明了Microsoft Access连接到SQL Server所需要知道的一些内容。其中“DSN”为数据源名,“WSID”为工作站名,“DATABASE”为所要访问的数据库名。
2、利用ODBC API编程
ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。与数据资源对话的公用函数组装在一个称为驱动程序管理器(ODBC.DLL)的动态连接中。应用程序调用驱动程序管理器中的函数,而驱动程序管理器反过来通过驱动器(SQLSRVR.DLL)把它们送到服务器中。
下面的代码使用上面一些函数先登录到一个服务器数据库,并为随后的工作设置了语句句柄。
Global giHEnv As Long
Global giHDB As Long
Global giHStmt As Long
Dim myResult As integer
Dim myConnection As Srting
Dim myBuff As String*256
Dim myBufflen As Integer
If SQLAllocEnv(giHEnv)<>SQL_SUCCESS Then
MsgBox"Allocation couldn注释:t happen!"
End If
If SQLAllocConnect(giHEnv,giHDB)<>SQL_SUCCESS Then
MsgBox "SQL Server couldn注释:t connect!"
End If
myConnection="DSN=myServerUID=LCLPWD=APP=ODBCTestWSID=LCLDATABASE=sales"
myResult=SQLDriverConnect(giHDB,Test,form1.hWnd,myConnection.len(myConnection),myBuff,256,myBufflen,SQL_DRIVER_COMPLETE_REQUIED)
myResult=SQLAllocStmt(giHDS,giHStmt)
myResult=SQLFreeStmt(giHStmt,SQL_COLSE)
rsSQL="Select * from Customers Where City = "Hunan""
myResult = SQLExecDirect(giHStmt,rsSQL,Len(rsSQL))
3、使用VBSQL对DB库API编程
DB库是SQL Server的本地API,SQL Server的Visual Basic库(VBSQL)为Visual Basic程序员提供API。从一定意义上说,VBSQL是连接Visual Basic程序到SQL Server的性能最好最直接的方式。VBSQL包含以下三个文件:
VBSQL.VBX: 包含库函数,具有访问重要的消息和处理错误的能力
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)