#主要是想制作一个影院的座位预定系统,目前遇到的问题主要就是无法提交表单将记录插入到数据库中,一提交就会报错。
报错提示是这个:
Microsoft OLE DB Provider for ODBC Drivers error '80040e57'
[Microsoft][ODBC Microsoft Access 驱动程序]非法的字符串或缓冲区长度
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
If (CStr(Request("MM_insert")) = "bookform") Then
If (Not MM_abortEdit) Then
' execute the insert
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_sfa_STRING
MM_editCmd.CommandText = "INSERT INTO SeatReservation (film) VALUES (?)"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 202, 1, 255, Request.Form("dymc")) ' adVarWChar
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "BookSuccessful.asp"
If (Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
Response.Redirect(MM_editRedirectUrl)
End If
End If
%>
报错提示的是:MM_editCmd.Execute
提交的表单类型是
<form name="bookform" class="hideinput" method="POST" id="bookform" action="<%=MM_editAction%>">
<!--利用 session 和 application 里面保存的默认值,作为新插入记录的默认值-->
<input id="xh" name="stuid" type="text" value="<%response.write session.Contents("MM_Username")%>"/>
<input id="dymc"name="filmname" type="text" value="<%response.Write application.Contents("fname")%>"/>
<input id="zwh" name="seatnum" type="text" value="" />
<input id="xz" name="xaxis" type="text" value="" />
<input id="yz" name="yaxis" type="text" value="" />
<input type="submit" />
<input type="hidden" name="MM_insert" value="bookform" />
</form>
使用的是access搭建的一个数据库,用一张表来记录预约座位的记录
测试了各种数据,都无法插入