VB.NET访问ACCESS数据库,查询时,提示dr = cmd.ExecuteReader()至少一个参数没被指定值

ImportsSystem.Data.OleDbPublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.O... Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New OleDbConnection
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.mdb"
Dim table As New DataTable()
Dim myda As New OleDbDataAdapter("select * from test", con)
Dim ds As New DataSet()
Dim cmd As New OleDbCommand
'定义一个OLEDBReader方法来读取数据库
Dim dr As OleDbDataReader
con.Open()
cmd.Connection = con
myda.Fill(ds, "test")
myda.Fill(table)
ComboBox1.DataSource = ds
Me.DataGridView1.DataSource = table
Me.ComboBox1.DisplayMember = "test.设备"
cmd.CommandText = "select ip from test where 设备=" & ComboBox1.Text & ""
dr = cmd.ExecuteReader()
If dr.Read() Then
TextBox1.Text = dr(0)
End If
'完成后关闭dr.con等释放资源
dr.Close()
con.Close()
End Sub
End Class

-----------------------执行时,总提示dr = cmd.ExecuteReader()至少一个参数没被指定值,请问各位大侠,这个是怎么回事呢?该怎么解决?
展开
 我来答
zhykhld
2013-03-06 · 超过34用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:65.6万
展开全部
看起来,应该是"select ip from test where 设备=" & ComboBox1.Text & ""这里出错了
你试试:
"select ip from test where 设备='" & ComboBox1.Text & "'"
这样应该不会提示这个错误了,但TextBox1当中可能不会显示任何内容
因为你的ComboBox1.Text 的内容应该是空的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式