ASP Classic中缺少运算符

时间:2013-11-20 11:08:20

标签: asp-classic

我正在尝试将我的pos_DATE,pos_TIME等变量添加到我的数据库并在下面显示错误,尽管它显示第61行我认为这是一个SQL问题而不是第61行。

<%@ Language=VBScript %>

<%
' make VB declare all variables
option explicit

' variable listing and usage
DIM conx ' connection object to the server
DIM comd ' instance of a command object
DIM sql_comd ' string variable to hold the SQL commands
DIM itemsAdded ' numeric var to hold num records added to table (1 or 0)
DIM dbpath  ' path to the database file

' create an ado (activeX data object) connection on the server...
set conx=server.CreateObject("ADODB.connection")

' Create a "DSN-less" connection to database using OLEDB
dbpath = Server.Mappath("db/unibookv2.mdb")
conx.Provider="Microsoft.Ace.OLEDB.12.0"
conx.Mode = 3 ' adModeReadWrite
conx.Open dbpath ' open the database

' instantiate a command object to create a new record via SQL
set comd=server.CreateObject("ADODB.Command")
' tell the command object which is the active connection
comd.ActiveConnection=conx


' #######################################################
' -----------------------------------------------------------------------
' The following code checks for errors in user input not picked up by
' any client side JavaScript and can be omitted initially
' -----------------------------------------------------------------------
DIM pos_DATE 
DIM pos_TIME 

pos_DATE = request ("DATE")
pos_TIME = request ("TIME")

if NOT ISDate(pos_TIME) Then
    pos_TIME = "00:00:00"
end if


if NOT ISDate(pos_DATE) Then
    pos_DATE = "01/01/00"
end if


sql_comd="INSERT INTO post (pos_USERID, pos_caption, pos_content, pos_DATE, pos_TIME) VALUES('" &_
request("pos_USERID") & "','" & _
request("pos_caption") & "','" & _
request("pos_content") & "','" & _
pos_DATE & "'," & _
pos_TIME & ")"



comd.CommandText=sql_comd  ' this is the SQL Insert command sent to the DBMS
' This line executes the SQL against the DBMS (in this case "MS Access") using the ADO command object
comd.Execute itemsAdded ' use the execute method of the command object, return number of items added (if any), errors in your SQL will show as being in THIS line not the SQL line..!
%>

<h2>ASP - Demo of Add Record to Database table using SQL </h2>

    <!-- draw an HTML separator line -->
    <hr align="left" width="758" /><br />
    <p>&nbsp;</p>

    <%
    ' this is where we use the 'itemsAdded' variable
    If itemsAdded=1 Then
        ' message to confirm 1 added record
        Response.Write "<h3>New record saved successfully to 'testtable'</h3>"
    Else
        ' message in red (oops no CSS!) to alert user of an error
        Response.Write "<h3 style='color:red;'>ERROR - record NOT saved'</h3>"
    End if
    %>

' processing done therefore tidy up... close and destroy any objects used to conserve server resources
conx.close
set conx=nothing
set comd=nothing


%>

错误代码如下,感谢您的帮助。

Microsoft Access Database Engine error '80040e14'

Syntax error (missing operator) in query expression '00:00:00'.

/student/s0190204/WIP/addpost.asp, line 61

1 个答案:

答案 0 :(得分:2)

pos_TIME是字符串吗?如果是这样,你就错过了sql_comd末尾的pos_TIME周围的''。