Asp classic 经典ASP和MS Access批量更新

Asp classic 经典ASP和MS Access批量更新,asp-classic,vbscript,ms-access-2007,batch-updates,Asp Classic,Vbscript,Ms Access 2007,Batch Updates,我正在使用以下代码使用Classic Asp更新Access数据库: <%@ Language=VBScript %> <% Option Explicit %> <% Response.Buffer = True 'First, we need to get the total number of items that could be updated Dim iCount iCount = Request("Count") 'We need to obtain

我正在使用以下代码使用Classic Asp更新Access数据库:

<%@ Language=VBScript %>
<% Option Explicit %>
<%
Response.Buffer = True
'First, we need to get the total number of items that could be updated
Dim iCount
iCount = Request("Count")

'We need to obtain each cost and ID
Dim strstudent, strcourse, strgrade, strcomments

'We will also need to build a SQL statement
Dim strSQL

Dim conn


set conn=server.CreateObject("ADODB.connection")
conn.ConnectionString="provider=Microsoft.jet.OLEDB.4.0;data source=C:\db\agsystem.mdb"
conn.Open
'Now, we want to loop through each form element
Dim iLoop
For iLoop = 0 to iCount
'student data
strstudent = Request(iLoop & ".Student")
'course data
strcourse = Request(iLoop & ".course")
'grade
if isNull(Request(iLoop & ".grade")) or Request(iLoop & ".grade")="" then
strgrade="null"
else
strgrade= Request(iLoop & ".grade")
end if
if isNull(Request(iLoop & ".comments"))  or Request(iLoop & ".comments")="" then
strcomments=null
else
strcomments=Request(iLoop & ".comments")
end if
strSQL = "UPDATE testing SET semester2 = " & strgrade & ", commentss=" & "'" & strcomments & "'" & "  WHERE newstudentid = " &"'"& strstudent&"'" & " and Courseid = " & "'"& strcourse & "'"
conn.Execute strSQL
Next

conn.Close
Set conn = Nothing

Response.Redirect "protected.asp"
%>


我仔细分析了情况后发现了错误


主键中包含空格(例如“2或13”)的记录将不会更新。但主键中没有空格的记录(如“2CEN13”)可以完美地更新。我没有时间在我的asp代码中解决它,所以我用空格编辑了所有记录,这就解决了问题

抱歉,意思是说当从本地服务器更新时,它会毫无问题地更新。但是,当从WAN访问时,它实际上不会更新,即使是从本地主机也只更新某些记录。