百思不得其解的一个简单显示错误过程。望高人帮忙。
楼主islandnet(e兔子)2006-12-22 15:28:02 在 Web 开发 / ASP 提问
<!--#include file="../conn.asp"-->
<%
Dim SQL, RS
Set RS = Server.CreateObject("Adodb.RecordSet")
SQL = "Select * From [Ebis_User]"
RS.Open SQL, Conn, 1, 1
If Err.Number<>0 Then
Response.Write "数据操作失败!<br><br>"
Response.Write "错误原因:<br><br>"
Response.Write Err.Description
Err.Clear
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
Response.End
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
Response.Write "更新成功!这条应该不执行不显示!"
%>
上面的程序,能正常辨别错误,如果把数据表更改为数据库中根本没有的,则能辨别错误正常显示。
而同样的程序加入过程DBOperation()中,在调用,却不正常。为何!??奇怪呀
Sub DBOperation()
Dim SQL, RS
Set RS = Server.CreateObject("Adodb.RecordSet")
SQL = "Select * From [Ebis_Usedr]"
RS.Open SQL, Conn, 1, 1
If Err.Number<>0 Then
Response.Write "数据操作失败!<br><br>"
Response.Write "错误原因:<br><br>"
Response.Write Err.Description
Err.Clear
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
Response.End
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
Response.Write "更新成功!这条应该不执行不显示!"
End Sub
Call DBOperation()
问题点数:10、回复次数:6Top
1 楼islandnet(e兔子)回复于 2006-12-22 16:17:10 得分 0
顶。快来帮忙高手们。谢谢/Top
2 楼lingyu1983(sot)回复于 2006-12-22 16:47:25 得分 0
我在本地测试你上面那一段程序,使用了一个不存在的表,报错
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft JET Database Engine 错误 '80040e37'
Microsoft Jet 数据库引擎找不到输入表或查询 '23'。 确定它是否存在,以及它的名称的拼写是否正确。
/ceshi.asp,行6
Top
3 楼islandnet(e兔子)回复于 2006-12-22 16:51:36 得分 0
<!--#include file="../conn.asp"-->
的内容就是连接数据库,没有详细列出。随便一个连接上的就行了Top
4 楼shiliangdong(Stou)回复于 2006-12-22 16:53:40 得分 0
看不出来。Top
5 楼webmm(一笑而过)回复于 2006-12-22 17:01:06 得分 0
Sub DBOperation() 在同一页? 是否有加<!--#include file="../conn.asp"-->Top
6 楼anjing5566()回复于 2006-12-22 17:09:18 得分 0
基本同上,Sub过程中直接引用的conn在上面定义了没有,或者就楼上的加这个<!--#include file="../conn.asp"-->
但是有个问需要注意,你在调用过程的时候,你的Call DBOperation()是在哪个页面的?conn.asp的位置需要和你引用的<!--#include file="../conn.asp"-->的相对路径匹配Top
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |








网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)