不正常 GUID。 在查询表达式 'id={0}' 中......求命啊,想了两天了!还是不懂错在哪里!

qq48420990 2006-04-07 06:32:42
第一个页面(摄像机):(承接上一个页面的动态内容),比如:在数码产品中选择"摄像机",现在我想在看详细的内容.就点击"三星",然后弹出一个新的页面(此页面显示一款"三星"的"数码摄像机")就在这个时候,就出错了.请问是什么原因啊?
出错提示是:
不正常 GUID。 在查询表达式 'id={0}' 中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.OleDb.OleDbException: 不正常 GUID。 在查询表达式 'id={0}' 中。


我用的是Dreamweaver MX + access数据库+ASP.NET(VB),
一些代码如下:
第一个页面:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="vb" runat="server">
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/data.mdb"))
dim sqlstr,did as string
'接受参数.
did = request.querystring("id")
'如果参数不对或者为空,则提示错误.
if did="" then
response.Redirect("error.aspx?key=您输入的ID号无效!")
'如果参数正确,显示相关内容
else
sqlstr="select * from product where id=" & did
Dim cmd As New OleDbCommand(sqlstr, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader()
dr.Read()
prename.text=dr.item("prename")
intro.text=dr.item("intro")
predate.Text = dr.Item("predate")
viewnum.text=dr.item("viewnum")
solded.text=dr.item("solded")
price1.text=dr.item("price1")
price2.text=dr.item("price2")

conn.close()
end if
end sub
</script>
(略)
<table width="127" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="22></td>
<td width="105">
<asp:HyperLink ID="prename" NavigateUrl="product.aspx?id={0}" runat="server" Target="_blank"> (这里有错吗)
</td>
</tr>
</table>

第二个页面(详细的某个摄像机)
(那个错误提示,就是在显示这个页面的时候出来的,看了下地址栏:http://localhost/dw/product.aspx?id={0},这个0怎么不能变成数字呢?)

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="vb" runat="server">
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/data.mdb"))
dim sqlstr,did as string
'接受参数.
did = request.querystring("id")
'如果参数不对或者为空,则提示错误.
if did="" then
response.Redirect("error.aspx?key=您输入的ID号无效!")
'如果参数正确,显示相关内容
else
sqlstr="select * from product where id=" & did
Dim cmd As New OleDbCommand(sqlstr, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader()
dr.Read()
'显示产品的详细资料
prename.text=dr.item("prename")
intro.text=dr.item("intro")
predate.Text = dr.Item("predate")
viewnum.text=dr.item("viewnum")
solded.text=dr.item("solded")
price1.text=dr.item("price1")
price2.text=dr.item("price2")
chajia.text=dr.item("price1")-dr.item("price2")
amount.text=dr.item("amount")
stock.text=dr.item("stock")
remarks.text=dr.item("remarks")
discount.text=dr.item("discount")*100
conn.close()
end if
</script>
(设计略)
...全文
304 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
EvAvis 2006-04-08
你的ID号,是不是GUID类型啊??
如果是的话,就转换一下类型了
回复
qq48420990 2006-04-08
...........怎么弄个16进制来了啊?
回复
qq48420990 2006-04-08
不是啊.是长整型的.自动编号.无重复.
至于什么GUID.我都没听说过.
回复
artoksxb 2006-04-08
Up
回复
sugarsupper 2006-04-07
select a from tb where a={E8A094E7-05EE-4CA1-AD48-30B93B255FF2}
回复
qq48420990 2006-04-07
不行啊,那个网址还是显示为:product.aspx?id={0},里面的{0}没有动态显示相应的id号.
还有
sqlstr="select * from product where id='" & did&"'"
提示为:数据类型不匹配.
我前面设置did为STRING了.到底是哪里错呢?
回复
sugarsupper 2006-04-07
sqlstr="select * from product where id='" & did&"'"
回复
qq48420990 2006-04-07
<asp:HyperLink ID="prename" NavigateUrl="product.aspx?id={0}" runat="server" Target="_blank">
应该是这句话里的id={0}..不知道怎么实现动态调用..
如果改成?id="44"之类的,就可以运行....哎...
回复
水如烟 2006-04-07
不熟悉.

GUID?
是自己定义的,还是注册表里头的那些?
回复
相关推荐
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2006-04-07 06:32
社区公告
暂无公告