高分求教!!VB.net 2005 未处理 System.Data.OleDb.OleDbException

Functionloca()MyConnection.Open()MyCommand=NewOleDbCommand("SELECT*FROMmemberWHEREgxi... Function loca() MyConnection.Open() MyCommand = New OleDbCommand("SELECT * FROM member WHERE gxid='" + gkidTex.Text + "'", MyConnection) MyReader = MyCommand.ExecuteReader() ' 总是这段提示错误,提示未处理OleDbException至少一个参数没有被指定值。 While MyReader.Read gkxm.Text = MyReader("gkxm") End While MyConnection.Close() MyReader.Close() MyCommand.Dispose() End Function Public Class xydj Inherits System.Windows.Forms.Form Public gkbh As String Dim MyConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\!##xyd##!.mdb") Dim MyCommand As OleDbCommand Dim MyReader As OleDbDataReader 上面那行总是提示错误,请高手指点一下错在哪里。应该怎么改,高分求教! 展开
 我来答
天宇4395
2014-07-31 · 超过79用户采纳过TA的回答
知道答主
回答量:145
采纳率:66%
帮助的人:73.4万
展开全部
"SELECT * FROM member WHERE gxid='" + gkidTex.Text + "'", ----> 1.如果你的gxid字段类型是数字 "SELECT * FROM [member] WHERE [gxid]=" + Int32.Parse(gkidTex.Text), 2.如果你的gxid字段类型是文本 "SELECT * FROM [member] WHERE [gxid]='" + gxidTex.Text + "'", 原因有这些可能: 1.字段名称或表名跟数据库保留字冲突,解决方法:表名和字段名加中括号; 2.字段名或表名拼写错误,跟数据库里不一致,解决方法:纠正拼写; 3.给非文本型字段赋值使用了单引号,或者给文本型字段赋值忘了单引号(你不会是这个),解决办法:使用正确单引号; 4.赋值的变量类型和字段类型不一致,从.Text属性得到的是String类型,用 Int32.Parse 来转换一下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式