2013-01-06 92 views
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 
%> 

代碼也here

我收到的錯誤:

Microsoft Access Database Engine error '80040e07' 

Data type mismatch in criteria expression. 

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

現在線33僅僅是

comd.Execute itemsAdded 

所以我認爲這可能是相關的項目添加命令,但實際上沒有命令。如果您需要了解更多信息,請讓我知道我可以幫你......幫我:d

感謝

回答

1

的錯誤表明數據的類型添加到至少一列不匹配的數據類型這是可接受的列。

SQL INSERT語句將數據值作爲字符串數據提交,如果此數據是一組三個數字?如果是,則嘗試更改爲以下,從值中刪除單引號:

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

嗨鮑勃感謝您的答覆,我明白你的意思,但改變它正是yeilded另一個錯誤; INSERT INTO語句中的語法錯誤。 /STUDENT/s0191958/PART2/bookprocess.asp,第35行 想一想,所有的數據都是單個數字的數字,但可以擴展到兩位數。 – Kieronboz

+0

我也注意到會話是一個保留字,所以這可能會打破它,所以我宣佈我想在那裏頂部的變量,但是這是正確的方式,這是這個「user_ID」&「','」&_ 添加它?只需雙引號? – Kieronboz

相關問題