主题:  小妹有重要的问题要问,请高手大哥帮忙

yukeiv

职务:普通成员
等级:1
金币:0.0
发贴:35
注册:2002/10/1 20:01:27
#12002/10/18 16:12:30
我在调试一个asp程序时出现的一个问题如下:Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access 驱动程序] UPDATE 语句的语法错误。

/新虚拟目录/高中/ScoreModify.asp, 行95 这是什么原因引起的。望高手大哥帮助。急!!!!!!!

程序的源程序如下:<%@LANGUAGE="VBSCRIPT"%>


<%
strSheetName = Request.QueryString("SheetName")
%>
<%
' *** Edit Operations: declare variables

MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Update Record: set variables

If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

MM_editConnection = MM_StudentConn_STRING
MM_editTable = strSheetName
MM_editColumn = "StudentNum"
MM_recordId = "'" + Request.Form("MM_recordId") + "'"
MM_editRedirectUrl = "ScoreQuery2.asp?" & session("strQureyString")
MM_fieldsStr = request.form("Subject")
MM_columnsStr = replace(MM_fieldsStr,"value","',none,''")

' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")

' set the form values
total = 0
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
    if MM_fields(i+1)="" then MM_fields(i+1)="0"

' 计算总分
total =total + MM_fields(i+1)
Next

End If
%>
<%
' *** Update Record: construct a sql update statement and execute it

If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

' create the sql update statement
MM_editQuery = "update " & MM_editTable & " set "
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_editQuery = MM_editQuery & ","
End If
MM_editQuery = MM_editQuery & MM_columns(i) & " = " & FormVal
Next

'在原DW生成的代码基础上再加入总分

MM_editQuery = MM_editQuery & ",总分 = " & total


MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

If (Not MM_abortEdit) Then
' execute the update
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If

End If
%>
<%
Dim Recordset1__MMColParam,Recordset2__MMColParam,Recordset3__MMColParam
Recordset1__MMColParam= Request.QueryString("StudentNum")
Recordset2__MMColParam = Request.QueryString("SheetName")
Recordset3__MMColParam= Request.QueryString("StudentNum")
%>
<%
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_StudentConn_STRING
Recordset1.Source = "SELECT StudentNum, Name FROM StudentInfo WHERE StudentNum = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0
%>
<%
set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_StudentConn_STRING
Recordset2.Source = "SELECT SheetName, TestName FROM TestName WHERE SheetName = '" + Replace(Recordset2__MMColParam, "'", "''") + "'"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 3
Recordset2.Open()
Recordset2_numRows = 0
%>
<%
set Recordset3 = Server.CreateObject("ADODB.Recordset")
Recordset3.ActiveConnection = MM_StudentConn_STRING
Recordset3.Source = "SELECT * FROM " & strSheetName & " WHERE StudentNum = '" + Replace(Recordset3__MMColParam, "'", "''") + "'"
Recordset3.CursorType = 0
Recordset3.CursorLocation = 2
Recordset3.LockType = 3
Recordset3.Open()
Recordset3_numRows = 0
%>




学生成绩修改




























注:



1、输入信息后可直接按回车键保存修改结果



2、输入过程中可用Tab键将光标在各输入框中切换



3、保存修改结果后,系统会自动转入录入下一条记录页面或查询结果结果页面。






            考试名称:<%=(Recordset2.Fields.Item("TestName").value)%>










<%
                             strSubject=""
                             For i=5 to Recordset3.Fields.Count-1
                                    response.write ""
                                    response.write ""
    response.write ""
                                    if strSubject<>"" then
                                        strSubject=strSubject & "|" & Recordset3.Fields.Item(i).Name & "|value"
                                    else
                                        strSubject= Recordset3.Fields.Item(i).Name & "|value"
                                    end if
                             Next
                             %>
学号: <%=(Recordset3.Fields.Item("StudentNum").value)%>
姓名:
<% If Not Recordset1.EOF Or Not Recordset1.BOF Then %>
<%=(Recordset1.Fields.Item("Name").value)%>
<% End If ' end Not Recordset1.EOF Or NOT Recordset1.BOF %>
 
" & Recordset3.Fields.Item(i).Name & ": "
                                    response.write "

">

        






        
    


<%
Recordset1.Close()
%>
<%
Recordset2.Close()
%>
<%
Recordset3.Close()
%>



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#22002/10/18 16:36:41
眼花了,最讨厌看UD产生的代码
具体是哪行出错啊,错误行叱