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
相关产品推荐
相关产品推荐

