vb代码出错了,可看不懂出错的原因,请教vb高手,急!谢谢!

SubPage_Load(SenderAsObject,EAsEventArgs)DimconnAsNewOleDbConnection("Provider=Micros... Sub Page_Load(Sender As Object, E As EventArgs)
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db.mdb")) '建立Connection对象
'建立SQL语句,请注意要获取传递过来的link_id的值
Dim strSql As String
strSql = "Select * From gonggao Where link_id= '" & Request.QueryString("link_id") & "'"
Dim cmd As New OleDbCommand(strSql, conn) '建立Command对象
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader() '建立DataReader对象
'下面开始显示数据
dr.Read() '肯定只有一个记录,直接读取就可以了
message.Text &= "详细内容:" & dr.Item("neirong")
message.Text &= "<br>发布时间:" & dr.Item("ndate")
conn.Close()
End Sub
报错是:异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
怎么会不匹配呢?要什么的数据类型呢?谢谢大虾指点!
link_id的数据类型是数字的。
展开
 我来答
洪琪文社
2010-05-07 · TA获得超过589个赞
知道小有建树答主
回答量:668
采纳率:0%
帮助的人:388万
展开全部
id把id这类的数据要设成文本。不然以后想0711401002这种0字开头的数据不能输入会报错。
Where link_id= '" & Request.QueryString("link_id") & "'"这里应该就是问题所在吧。把单引号去掉。或者按上边说的该数据库。
还有
Dim cmd As New OleDbCommand(strSql, conn) '建立Command对象
conn.Open()
这两句换一下位置
conn.Open()
Dim cmd As New OleDbCommand(strSql, conn)
试试。 你使用的access数据库吗、如果是的话建议看看我的空间连数据库的语法。我看你的怎么那么别扭。
ct543
2010-05-07 · 知道合伙人互联网行家
ct543
知道合伙人互联网行家
采纳数:624 获赞数:2136
2000年接触计算机;2002年接触互联网并开始学习黑客技术;有多年编程开发经验以及信息安全项目实践经验。

向TA提问 私信TA
展开全部
link_id是数字的。那么SQL语句里就不应该用单引号link_id='XXX'。

还有要注意判断QueryString参数是不是数值型。

读取数据库内容要注意处理NULL值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式