VB.NET ADO 连接数据库

介绍

ADO(ActiveX Data Objects)是一种用于访问数据的技术,它是微软的一种数据访问组件。VB.NET 是一种面向对象的编程语言,通过使用 ADO,我们可以在 VB.NET 中连接数据库、执行 SQL 查询、插入、更新和删除数据等操作。本文将介绍如何在 VB.NET 中使用 ADO 连接数据库,并提供相关代码示例。

ADO 连接数据库

在 VB.NET 中,我们可以使用 ADO.NET 提供的 SqlConnection 类来连接数据库。SqlConnection 类位于 System.Data.SqlClient 命名空间中,我们需要在代码中添加对该命名空间的引用。

Imports System.Data.SqlClient

接下来,我们需要创建一个 SqlConnection 对象,并设置连接字符串。连接字符串包含了连接数据库所需的信息,例如服务器名称、数据库名称、用户名和密码等。下面是一个示例连接字符串:

Dim connectionString As String = "Data Source=servername;Initial Catalog=databasename;User ID=username;Password=password"

在创建 SqlConnection 对象时,我们将连接字符串作为参数传递给构造函数:

Dim connection As SqlConnection = New SqlConnection(connectionString)

连接字符串中的参数可以根据实际情况进行更改。

执行 SQL 查询

在连接数据库之后,我们可以使用 SqlCommand 类执行 SQL 查询。SqlCommand 类位于 System.Data.SqlClient 命名空间中,我们同样需要在代码中添加对该命名空间的引用。

Imports System.Data.SqlClient

首先,我们需要创建一个 SQL 查询语句。例如,我们可以查询一个名为 Customers 的表中的所有数据:

Dim query As String = "SELECT * FROM Customers"

接下来,我们创建一个 SqlCommand 对象,将 SQL 查询语句和 SqlConnection 对象作为参数传递给构造函数:

Dim command As SqlCommand = New SqlCommand(query, connection)

然后,我们可以使用 ExecuteReader 方法执行查询,并将查询结果存储在 SqlDataReader 对象中:

Dim reader As SqlDataReader = command.ExecuteReader()

我们可以使用 SqlDataReader 对象的方法和属性来处理查询结果。例如,我们可以使用 Read 方法逐行读取查询结果:

While reader.Read()
    ' 处理查询结果
End While

插入、更新和删除数据

除了查询数据,我们还可以使用 SqlCommand 类执行插入、更新和删除数据等操作。下面是一些常用的示例:

插入数据

Dim insertQuery As String = "INSERT INTO Customers (Name, Email) VALUES ('John Doe', 'john.doe@example.com')"
Dim insertCommand As SqlCommand = New SqlCommand(insertQuery, connection)
Dim rowsAffected As Integer = insertCommand.ExecuteNonQuery()

更新数据

Dim updateQuery As String = "UPDATE Customers SET Email='johndoe@example.com' WHERE Id=1"
Dim updateCommand As SqlCommand = New SqlCommand(updateQuery, connection)
Dim rowsAffected As Integer = updateCommand.ExecuteNonQuery()

删除数据

Dim deleteQuery As String = "DELETE FROM Customers WHERE Id=1"
Dim deleteCommand As SqlCommand = New SqlCommand(deleteQuery, connection)
Dim rowsAffected As Integer = deleteCommand.ExecuteNonQuery()

这些示例代码中的 SQL 查询语句可以根据实际情况进行更改。

完整示例

下面是一个完整的示例,展示了如何在 VB.NET 中使用 ADO 连接数据库、执行查询和更新数据:

Imports System.Data.SqlClient

Module Module1

    Sub Main()
        Dim connectionString As String = "Data Source=servername;Initial Catalog=databasename;User ID=username;Password=password"
        Dim connection As SqlConnection = New SqlConnection(connectionString)

        Try
            connection.Open()

            Dim query As String = "SELECT * FROM Customers"
            Dim command As SqlCommand = New SqlCommand(query, connection)
            Dim reader As SqlDataReader = command.ExecuteReader()

            While reader.Read()
                ' 处理查询结果
                Dim name As String = reader.GetString(1)
                Dim email As String = reader.GetString(2)
                Console.WriteLine("Name: " & name & ", Email: " & email)
            End While

            reader.Close()

            Dim insertQuery As String = "INSERT INTO Customers (Name, Email) VALUES ('John Doe', 'john.doe@example.com')"
            Dim insertCommand As SqlCommand = New SqlCommand(insertQuery, connection)
            Dim insertRowsAffected As Integer = insertCommand.ExecuteNonQuery()
            Console.WriteLine("Inserted " & insertRowsAffected & " row(s)")

            Dim updateQuery