1

当然のことながら、これは一般的なエラーです。しかし、他のものを調べても、私にとって有益な情報はあまり得られませんでした.

コードは次のとおりです。

<%@ Language=VBScript %>
<%
' variable listing and usage
DIM conx ' connection object to the server
DIM comd ' instance of a command object
DIM bookingsql ' 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

set conx=server.CreateObject("ADODB.connection")

conx.Provider="Microsoft.ACE.OLEDB.12.0"
dbpath = Server.Mappath("database/thrus.mdb")
conx.Mode = 3 ' adModeReadWrite
conx.Open dbpath ' open the database

set comd=server.CreateObject("ADODB.Command")
comd.ActiveConnection=conx

bookingsql="INSERT INTO booking (boo_UserID, boo_PerID, boo_SeaID) VALUES('" &_
session("usr_ID") & "','" & _
request("performanceid") & "','" & _
request("firstSeat")& "')" 

comd.CommandText=bookingsql 
comd.Execute itemsAdded

conx.close
set conx=nothing
set comd=nothing
%>

コードもここにあります。

次のエラーが表示されます。

Microsoft Access Database Engine error '80040e07'

Data type mismatch in criteria expression.

/STUDENT/s0191958/PART2/bookprocess.asp, line 33

33行目は単純です

comd.Execute itemsAdded

したがって、実際にはコマンドではなく、項目追加コマンドに関連している可能性があると思います。さらに情報が必要な場合は、私がどのようにあなたを助けることができるか教えてください-私を助けるために:D

ありがとう

4

1 に答える 1

1

このエラーは、少なくとも 1 つの列に追加されたデータの型が、その列で受け入れられるデータ型と一致しないことを示しています。

SQL INSERT ステートメントはデータ値を文字列データとして送信していますが、このデータは 3 つの数値のセットである必要がありますか? はいの場合は、次のように変更してみてください。これにより、値から一重引用符が削除されます。

bookingsql="INSERT INTO booking (boo_UserID, boo_PerID, boo_SeaID) VALUES(" &_
session("usr_ID") & "," & _
request("performanceid") & "," & _
request("firstSeat")& ")" 
于 2013-01-06T03:58:43.973 に答える