You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET使用ADODB读取Web.Config连接串查询数据填充文本框求助

VB.NET 通过OleDb连接Access数据库填充文本框实现代码

前置校验

  • 确保Access数据库文件CustomerInfor.mdb存放在项目的App_Data目录下,|DataDirectory|默认映射的就是该目录
  • 确认代码文件顶部已导入对应命名空间:
Imports System.Data.OleDb
Imports System.Configuration
  • 64位系统使用Microsoft.Jet.OLEDB.4.0驱动时,需要在IIS应用程序池设置中开启32位应用程序支持,也可替换为适配64位的Microsoft.ACE.OLEDB.12.0驱动

完整实现代码

以下为SearchButton按钮点击事件的完整代码,示例逻辑为根据输入的客户ID查询客户名称填充到文本框,可根据你的实际业务修改SQL语句和字段映射:

Protected Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
    Dim conStr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    ' 替换为你实际的查询SQL语句
    Dim querySql As String = "SELECT CustomerName FROM CustomerInfo WHERE CustomerId = @SearchId"

    ' Using语句会自动释放连接、命令对象资源,无需手动关闭连接
    Using conn As New OleDbConnection(conStr)
        Using cmd As New OleDbCommand(querySql, conn)
            ' 参数化查询,避免SQL注入,这里的txtSearchId为你输入查询条件的文本框ID
            cmd.Parameters.AddWithValue("@SearchId", txtSearchId.Text.Trim())
            Try
                conn.Open()
                Dim queryResult As Object = cmd.ExecuteScalar()
                ' 校验查询结果非空
                If queryResult IsNot Nothing AndAlso Not DBNull.Value.Equals(queryResult) Then
                    ' txtResult为你要填充数据的目标文本框ID
                    txtResult.Text = queryResult.ToString()
                Else
                    txtResult.Text = "未查询到匹配数据"
                End If
            Catch ex As Exception
                txtResult.Text = "查询异常:" & ex.Message
            End Try
        End Using
    End Using
End Sub

多字段查询适配

如果需要一次查询多个字段填充多个文本框,可将conn.Open()后的逻辑替换为以下写法:

conn.Open()
Dim dataReader As OleDbDataReader = cmd.ExecuteReader()
If dataReader.Read() Then
    ' 替换为你实际的数据库字段名和对应文本框ID
    txtName.Text = dataReader("CustomerName").ToString()
    txtPhone.Text = dataReader("CustomerPhone").ToString()
    txtAddress.Text = dataReader("CustomerAddress").ToString()
Else
    txtName.Text = "未查询到匹配数据"
End If
dataReader.Close()

注意事项

  • 原始代码未做资源释放和异常捕获,容易引发连接泄漏导致后续连接失败,推荐统一使用Using语句管理数据库相关对象的生命周期
  • 禁止直接拼接SQL语句,一定要使用参数化查询避免SQL注入风险

内容的提问来源于stack exchange,提问作者Ahmad Rumanneh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:18:04