高分求教!!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 上面那行总是提示错误,请高手指点一下错在哪里。应该怎么改,高分求教!
展开
1个回答
展开全部
"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 来转换一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询