|
![]() | 作者: ljsh012 [ljsh012]
![]() |
登录 |
我在我的xp上写了个留言簿,数据库是microsoft access,运行一切正常,但把它放到2000server上时,留言提交不进数据库,但能从数据库读取留言。提交时错误时这样的: HTTP 500.100 - 内部服务器错误 - ASP 错误 Internet 信息服务 -------------------------------------------------------------------------------- 技术信息(适用于支持人员) 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) /sys/sys/gform.asp, 第 40 行 浏览器类型: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 页: POST 41 bytes to /sys/sys/gform.asp POST 数据: name=b&email=b&subject=b&memo=b&tijiao=ok 时间: 2004年3月29日, 14:13:49 怎么解决? |
地主 发表时间: 04-03-29 14:11 |
![]() | 回复: 286 [unique] ![]() |
登录 |
你看看你的access数据库是不是access97下作的。 如果是你用access2000打开,打开时会提示你是否进行转换,你转换一下就行了。 |
B1层 发表时间: 04-03-29 14:54 |
![]() | 回复: ljsh012 [ljsh012] ![]() |
登录 |
回版主,我是在xp下做的数据库,在2000server上打开一切正常,不只是何原因?请版主再劳神想想是啥问题?多谢了。 |
B2层 发表时间: 04-03-29 22:04 |
![]() | 回复: 286 [unique] ![]() |
登录 |
贴源码, |
B3层 发表时间: 04-03-30 08:54 |
![]() | 回复: yingzike [yingzike] ![]() |
登录 |
UPDATE 还是 INSERT ? 强烈要求贴源码! ![]() ![]() ![]() |
B4层 发表时间: 04-03-30 14:03 |
![]() | 回复: ljsh012 [ljsh012] ![]() |
登录 |
提交页面是gform.htm,处理提交页面的是gform.asp,读取的页面是gbook.asp.分别如下: "gform.htm" <script language="VBScript" type="text/VBScript"> <!-- sub titiao_onclick() if (mynote.name.value="") then alert ("no") exit sub end if if (mynote.email.value="") then alert ("no") exit sub end if if (mynote.subject.value="") then alert ("no") exit sub end if if (mynote.memo.value="") then alert ("no") exit sub end if mynote.submit end sub --> </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#006666"> <div align="center"><font size="+5" face="华文行楷">淡蓝色的留言簿 </font></form> <form action="gform.asp" method="post" name="mynote" id="mynote"> <table width="75%" border="0"> <tr> <td><div align="center">您的大名: <input name="name" type="text" id="name"> </div></td> </tr> <tr> <td><div align="center">电子邮件: <input name="email" type="text" id="email"> </div></td> </tr> <tr> <td><div align="center">留言主题: <input name="subject" type="text" id="subject"> </div></td> </tr> <tr> <td><div align="center">留言内容: <textarea name="memo" rows="4" id="memo"></textarea> </div></td> </tr> <tr> <td><div align="center"> <input name="tijiao" type="submit" id="submit" value="ok"> <input name="reset" type="reset" id="reset" value="Reset"> </div></td> </tr> <tr> <td><div align="center"><a href="gbook.asp">察看留言</a></div></td> </tr> </table> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> </form> <p align="left"> </p> </div> </body> </html> "gform.asp" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <% dim name dim email dim subject dim memo function sqlstr(date) sqlstr="'"&replace(date,"'","''")&"'" end function name=request.form("name") email=request.form("email") subject=request.form("subject") memo=request.form("memo") name=left(name,40) email=left(email,80) subject=left(subject,127) name=trim(name) email=trim(email) subject=trim(subject) if name="" or email="" or subject="" or memo="" then response.write "字段不能为空" response.end end if application.lock set conn=server.createobject("adodb.connection") dbpath=server.mappath("gbook.mdb") conn.open "driver={microsoft access driver (*.mdb)};dbq="&dbpath sql="insert into guestbook(姓名,email,主题,留言) values(" sql=sql&sqlstr(name)&"," sql=sql&sqlstr(email)&"," sql=sql&sqlstr(subject)&"," sql=sql&sqlstr(memo)&")" conn.execute(sql) application.unlock response.write "<h2 align=center>留言成功!请<a href=""gform.htm"">返回</a>留言页面或<a href=""gbook.asp"">查看留言</a></h2>" %> </body> </html> "gbook.asp"他能从数据库中读取数据。但上面的gform.asp提交不进数据库。 <% sub print(objgbrs) writetab="<table border=0 width=""100%"">" writetab=writetab&"<tr><td>作者:"&objgbrs("姓名")&"</td>" writetab=writetab & "<tr><td>e-mail: <a href=""mailto:" & objgbrs("email") & """>" writetab=writetab & objgbrs("email")&"</td>" writetab=writetab&"<tr><td colspan=2>主题:"&objgbrs("主题")&"</td></tr>" memo=replace(objgbrs("留言"),chr(13),"<br>") writetab=writetab & "<tr><td colspan=2 bgcolor=#00ffff><pre><font size=+1>" writetab=writetab&memo&"</font></pre></td></tr>" writetab=writetab&"<tr><td colspan=2>时间:"&objgbrs("时间")&"</td></tr>" writetab=writetab&"<tr height=20></tr>" writetab=writetab&"</table>" response.write writetab end sub %> <html> <head><title>淡蓝色的留言簿</title> </head> <body text="#000000" bgcolor="#ffffff" > <h2 align=center>淡蓝色的留言簿</h2> <p align=center><a href="gform.htm">返回留言记录单</a></p> <h2 align=center> <hr width="100%"> </h2> <table width="75%" border="1" align="center"> <tr> <td height="22" bordercolor="#00FFFF" bgcolor="#33CCFF"> <% dim objgbrs set conn=server.createobject("adodb.connection") dbpath=server.mappath("gbook.mdb") conn.open "driver={microsoft access driver (*.mdb)};dbq="&dbpath sql="select * from guestbook order by 时间 desc" set objgbrs=conn.execute(sql) while not objgbrs.eof print objgbrs objgbrs.movenext wend %> </td> </tr> </table> <center><a href="gform.htm">返回留言记录单</a></center> </body> </html> |
B5层 发表时间: 04-03-30 21:52 |
![]() | 回复: bailove [bailove] ![]() |
登录 |
---------------------------------------------------- application.lock set conn=server.createobject("adodb.connection") dbpath=server.mappath("gbook.mdb") conn.open "driver={microsoft access driver (*.mdb)};dbq="&dbpath sql="insert into guestbook(姓名,email,主题,留言) values(" sql=sql&sqlstr(name)&"," sql=sql&sqlstr(email)&"," sql=sql&sqlstr(subject)&"," sql=sql&sqlstr(memo)&")" conn.execute(sql) application.unlock --------------------------------- 我也觉的你好象可以 但你可以换一种的提交方式试试,前面<!--#include file="conn.asp"--> sql="select * from [guestbook]" set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,3 rs.addnew . . . rs.update rs.close set rs=nothing ====================== conn.asp <% dim startime dim conn dim connstr startime=timer() Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("gbook.mbd" ) conn.Open connstr function CloseDatabase Conn.close Set conn = Nothing End Function %> ------------------- 我想问下memo=replace(objgbrs("留言"),chr(13),"<br>")中的chr(13)是“空格”或“回车符” 之类的东西是吗? |
B6层 发表时间: 04-03-31 09:08 |
![]() | 回复: 286 [unique] ![]() |
登录 |
由于没有数据库,所以也无法判断具体哪错了, 但我感觉你创建的好多对象怎么没有关闭呀。 比如conn,objgbrs。 一则建议你把数据库在2000下再打开后重新保存一下,别外按bailove的方法试试。 chr(13)是换行。 |
B7层 发表时间: 04-03-31 09:26 |
![]() | 回复: yingzike [yingzike] ![]() |
登录 |
sql="insert into guestbook(姓名,email,主题,留言) values(" sql=sql&sqlstr(name)&"," sql=sql&sqlstr(email)&"," sql=sql&sqlstr(subject)&"," sql=sql&sqlstr(memo)&")" conn.execute(sql) ============================================================ 这此提交还对? sql = ??? 这样下来都等于什么了? ![]() ![]() ![]() |
B8层 发表时间: 04-03-31 09:29 |
![]() | 回复: ljsh012 [ljsh012] ![]() |
登录 |
关于这个问题我在很多机子试过了,发现在某些机子上可以成功运行,在有些机子上说程序缺少"end" ,而且说是应该用更新操作。估计上面b6层说的对。但我没有试过。 这其中的原因为什么我也不懂。为什么在一些机子上可以运行而在一些机子上却不能运行。有待高手解答。 谢谢以上的弟兄们。高手们! |
B9层 发表时间: 04-04-30 00:03 |
![]() | 回复: li8111 [li8111] ![]() |
登录 |
该不会是没有写数据所在的文件夹权限吧??? |
B10层 发表时间: 04-04-30 01:27 |
![]() | 回复: 286 [unique] ![]() |
登录 |
这么久了还没解决吗? 要不你把程序发过来,我找个XP帮你试试。 |
B11层 发表时间: 04-04-30 09:32 |
![]() | 回复: ljsh012 [ljsh012] ![]() |
登录 |
286高手,大哥,怎么把程序发给你啊,网上龙腾留言簿也有像我这个程序的问题,报告同样的错误。你可以下载一个龙腾留言簿试试。奇怪的很,在一些机子上2000server上可以运行但在另外一些上2000server上却不能运行,他说留言操作应为更新操作。缺少end. 感谢286大哥无限的奉献。 开始我觉得是iwam_计算机名这个用户有问题。后又怀疑tsinternetuser这个用户有问题。但好像都不是。问一下,tsinternetuser这个用户被别人 添加到管理员组,而且被改了密码,对asp运行没有影响罢,我看过一篇文章说是跟iwam_计算机名,这个用户有关系。你看看去。 握,好像是286大姐啊,抱歉抱歉,希望不是变性。 ![]() [此贴被 ljsh012(ljsh012) 在 04月30日11时11分 编辑过] |
B12层 发表时间: 04-04-30 11:04 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号