|
|
请问各位可以帮我看看我asp的代码哪里出现问题吗?我要click detail时显示指定的id 所有资料。
可是我这样写却出现error,可以帮我看看问题出在哪里吗
这个是detail.asp
<%
set conn=server.createobject("adodb.connection")
connt="Provider=Microsoft.Jet.Oledb.4.0;Data Source="&server.mappath("db/gb.mdb")
conn.open connt
%>
<%
kid=request("id")
set rs=server.createobject("adodb.recordset")
sql="select * from user where id="&kid
rs.open sql,connt,1,1
%>
<table border="1" align="center" width="70%">
<tr>
<th colspan="2" align="center">Guest book
</th>
</tr>
<tr>
<th align="left">Editor
</th>
<th align="left">Message
</th>
</tr>
</tr>
<tr>
<td>Name:<%=rs("Name")%><br>
Date:<%=rs("InDate")%>
</td>
<td><%=rs("Message")%>
</td>
</tr>
</table>
<%
rs.close
set rs=nothing
%>
这是mguest.asp
<!--#include file="conn.asp"-->
<%
set rs=server.createobject("adodb.recordset")
sql="select * from user"
rs.open sql,conn,1,1
%>
<html>
<head>
</head>
<body>
<table border="1" align="center" width="70%">
<tr>
<th colspan="2" align="center">Guest book
</th>
</tr>
<tr>
<th colspan="2" align="left">Editor
</tr>
<%
i=1
do until i = rs.recordcount%>
<tr>
<td width="75%">
Name:<%=rs("Name")%><br>
Date:<%=rs("InDate")%>
</td>
<td>
<a href="">Delete</a>   <ahref="">Modified</a>   <ahref="detail.asp?did=<%=rs("id")%>">Detail</a>
</td>
</tr>
<%
i=i+1
rs.movenext
loop
%>
</table>
<br><br><br>
<form name="gbook" method="post" action="gprocess.asp">
<table border="0" align="center" width="50%">
<tr>
<td colspan="2">
<h3 align="center">Leave Your Message Here:</h3>
</td>
</tr>
<tr>
<td width="20%" align="right">From:</td>
<td width="80%">
<input type="text" name="fr" size="20"></td>
</tr>
<tr>
<td width="20%" align="right">Message:</td>
<td width="80%"><textarea rows="5" cols="45" name="msg"></textarea></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="POST"><input type="reset" value="CLEAR">
</td>
</tr>
</table>
</form>
</body>
</html> |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 03:44 PM
|
显示全部楼层
|
如果你要问哪里出错,请把error msg 也贴出来。 |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 03:47 PM
|
显示全部楼层
我是怀疑你的query那边出错,不是asp coding
但是还是请你贴出error msg |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 04:08 PM
|
显示全部楼层
Error Type:
Microsoft JET Database Engine (0x80004005)
Could not use ''; file already in use.
/detail.asp, line 12
Browser Type:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
Page:
GET /detail.asp
原帖由 二级棒 于 15-6-2008 03:47 PM 发表 
我是怀疑你的query那边出错,不是asp coding
但是还是请你贴出error msg |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 04:27 PM
|
显示全部楼层
line 12 应该就是那个query的吧?
rs.open sql,connt,1,1 <----- ?
是这个的话就是query出错, 请问你的id 是number as in integer 还是character
character 的话记得要开 ' 和关 ' |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 04:29 PM
|
显示全部楼层
回复 4# bluezcheng 的帖子
File is locking, 可以用Microsoft Access开一开,然后关回MDB。
还有,别一边开着Microsoft Access一边测试ASP,很容易File Lock。
如果,要一边开着Microsoft Access一边测试ASP,确定没有开table designer。 |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 04:31 PM
|
显示全部楼层
而且
rs.open sql,connt,1,1
应该是
rs.open sql,conn,1,1 |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 04:32 PM
|
显示全部楼层
oh yea, 忘了那条事
Could not use '' <--- 这个又是什么。 |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 04:35 PM
|
显示全部楼层
回复 8# 二级棒 的帖子
因为,String不是Connection Object,所以发现第一个字是",就确认了这不是object。
所以,error message 就显示,Connection Object 或 File 有问题,因为一开始就是"。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 05:03 PM
|
显示全部楼层
谢谢各位,我等下再试试看行不行 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 10:04 PM
|
显示全部楼层
确定是integer,那问题出在哪里呢?
如果是query的问题,那我要怎样写才对呢?
原帖由 二级棒 于 15-6-2008 04:27 PM 发表 
line 12 应该就是那个query的吧?
rs.open sql,connt,1,1 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 10:08 PM
|
显示全部楼层
改去conn了,还是出现error,
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in FROM clause.
/detail.asp, line 12
到底哪里出错?
原帖由 o1j2m3 于 15-6-2008 04:31 PM 发表 
而且
rs.open sql,connt,1,1
应该是
rs.open sql,conn,1,1 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 10:15 PM
|
显示全部楼层
“因为,String不是Connection Object” ???
可是我的file里line12没有 “ 这个符号啊!?
那要怎样让它确认为object呢?
原帖由 o1j2m3 于 15-6-2008 04:35 PM 发表 
因为,String不是Connection Object,所以发现第一个字是",就确认了这不是object。
所以,error message 就显示,Connection Object 或 File 有问题,因为一开始就是"。 |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 10:27 PM
|
显示全部楼层
原帖由 bluezcheng 于 15-6-2008 10:08 PM 发表 
改去conn了,还是出现error,
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in FROM clause.
/detail.asp, line 12
到底哪里出错?
你先肯定你的request("id")不是空的,然后是integer datatype |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 10:34 PM
|
显示全部楼层
我的数据库里ID field确定是有资料的,而datatype是AutoNumber。
接下来应该要check哪里呢?
原帖由 佳礼的冷血杀手 于 15-6-2008 10:27 PM 发表 
你先肯定你的request("id")不是空的,然后是integer datatype |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 10:52 PM
|
显示全部楼层
原帖由 bluezcheng 于 15-6-2008 10:34 PM 发表 
我的数据库里ID field确定是有资料的,而datatype是AutoNumber。
接下来应该要check哪里呢?
我的意思是kid=request("id")这个
这行过后你write “kid”看有没有东西出来,然后·kid的value要是datatype integer
如果你的conn是没有错误的话照理来说是没有问题的 |
|
|
|
|
|
|
|
|
|
|
发表于 15-6-2008 10:57 PM
|
显示全部楼层
你把这段
<%
kid=request("id")
set rs=server.createobject("adodb.recordset")
sql="select * from user where id="&kid
rs.open sql,connt,1,1
%>
换成
<%
kid=request("id")
set rs=server.createobject("adodb.recordset")
rs.ActiveConnection=conn
sql="select * from user where id="&kid
rs.open sql
%> |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-6-2008 11:07 PM
|
显示全部楼层
换了,还是不行
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in FROM clause.
/detail.asp, line 13
原帖由 佳礼的冷血杀手 于 15-6-2008 10:57 PM 发表 
你把这段
换成
|
|
|
|
|
|
|
|
|
|
|
发表于 17-6-2008 06:17 PM
|
显示全部楼层
"user" 在Access Db里是reserved word来的,
把sql statement换去 :
sql="select * from [user] where id="&kid
就ok了。。。。 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|