概述
在VB程序中,连接数据库读取数据是必不可少的操作之一。本文将介绍如何在VB中连接MSSQL数据库,并从数据库中读取数据。读取数据是指从表中取出数据记录。可以查询某个记录或查询多个记录。VB中操作MSSQL数据库分为以下几个步骤:
1.引用ADO对象库
使用VB操作数据库需要使用ADO对象。ADO对象是一组COM对象,允许应用程序通过SQL命令(SQL语句)与数据源进行对话。为了使用数据库对象,首先需要在项目引用中添加Microsoft ActiveX Data Objects 库。
2.连接数据库
连接数据库是与数据库约定连接参数,创建一个连接对象,相当于打开数据库。连接字符串是连接参数的集合,用于连接数据库。下面是连接到MSSQL数据库的示例代码:
Dim conn As ADODB.Connection
Dim connStr As String
'Replace your server name and databasename with your own configuration
connStr = "Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=MyDatabase; User Id=sa; Password=myPassword;"
Set conn = New ADODB.Connection
conn.Open connStr
上述代码中,Provider是ADO提供程序的名称,Data Source是目标主机,Initial Catalog是要连接的数据库名称,User Id是登录用户名,Password是登录密码。
3.执行SQL命令
连接到数据库后,需要执行SQL命令,获取结果集数据。在VB中可以使用Execute方法或者Recordset对象执行SQL命令。Execute执行SQL命令后,返回影响行数或数据库定义对象;而Recordset定义后行集合,可以支持多表查询。下面是使用Recordset对象执行SQL命令的示例代码:
Dim rs As ADODB.Recordset
Dim strSql As String
strSql = "SELECT * FROM MyTable"
Set rs = New ADODB.Recordset
rs.Open strSql, conn
上述代码中,strSql是要执行的SQL语句,conn是连接对象。Execute方法使用类似,如下:
Dim cmd As ADODB.Command
Dim intRowsAffected As Integer
Dim strSql As String
strSql = "INSERT INTO MyTable VALUES (1, 'Frankie')"
Set cmd = New ADODB.Command
With cmd
.CommandText = strSql
.ActiveConnection = conn
End With
intRowsAffected = cmd.Execute
上述代码中,strSQL是要执行的SQL语句,conn是连接对象,Execute方法返回影响的行数。
4.关闭连接
数据访问完毕后,需要关闭连接。连接对象可以释放数据库连接资源。下面是关闭连接对象的示例代码:
If rs.State <> adStateClosed Then rs.Close
Set rs = Nothing
If conn.State <> adStateClosed Then conn.Close
Set conn = Nothing
上述代码中,rs和conn分别是Recordset对象和Connection对象。通过State属性判断对象是否打开,Close方法关闭打开的对象。
代码示例
下面是一个从MSSQL中获取记录的示例代码,本代码使用Recordset对象读取MyTable表中的记录:
Private Sub cmdRead_Click()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim connStr As String
Dim strSQL As String
connStr = "Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=MyDatabase; User Id=sa; Password=myPassword;"
strSQL = "SELECT * FROM MyTable ORDER BY ID"
conn.Open connStr
rs.Open strSQL, conn
Do While Not rs.EOF
Debug.Print "ID: " & rs("ID") & " - Name: " & rs("Name")
rs.MoveNext
Loop
rs.Close
conn.Close
End Sub
上述代码中,connStr和strSQL分别是连接字符串和SQL语句,使用Open方法打开数据库连接和Recordset对象,使用EOF属性判断是否查询结束,使用MoveNext方法移动记录指针。调用rs("ID")和rs("Name")方法访问表中的数据,使用Debug.Print输出到调试窗口。
小结
本文介绍了在VB中连接MSSQL数据库,并从数据库中读取数据的方法。连接数据库需要使用ADO对象,可以使用Execute命令或Recordset对象执行SQL语句,使用EOF属性判断是否查询结束,使用MoveNext方法移动记录指针。读取数据是VB操作MSSQL数据库的基本操作之一,是熟练掌握VB数据库应用的必备技能。