南昌艾溪湖一小怎么样:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][ODBC Microsoft Access Driver] ?

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 05:23:44
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'fSubjectID =' 中。
/subdel.asp, 第 16 行
代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/connLOOK.asp" -->
<%

if(Request.querystring("fSubjectID") <> "") then Command1__iSubID = Request.querystring("fSubjectID")

%>
<%

set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_connLOOK_STRING
Command1.CommandText = "DELETE FROM tNewsSubject WHERE fSubjectID =" + Replace(Command1__iSubID, "'", "''") + ""
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
16行:Command1.Execute()
谢谢高手请教

我来给你分析一下:
首先指出问题:就是少了End IF 那里少了呢?

1. 前面做判断,这很对
if(Request.querystring("fSubjectID") <> "") then Command1__iSubID = Request.querystring("fSubjectID")
如果没有传值,Command1__iSubID自然是空的。
2.因为你的IF语句在一行,所以不需要END IF(但是,后面的语句照样执行。

改成:
if (Request.querystring("fSubjectID") <> "") then
Command1__iSubID = Request.querystring("fSubjectID")
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_connLOOK_STRING
Command1.CommandText = "DELETE FROM tNewsSubject WHERE fSubjectID =" + Replace(Command1__iSubID, "'", "''") + ""
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()
End if
这样就好了。