2013-01-06 1 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

Привет Bobs спасибо за ваш ответ, я понимаю, что вы имеете в виду, однако, изменив его точно, что yeilded другой ошибки; Ошибка синтаксиса в инструкции INSERT INTO. /STUDENT/s0191958/PART2/bookprocess.asp, строка 35 Думая об этом, все данные являются однозначными числами, но могут распространяться до двух цифр. – Kieronboz

+0

Ive также заметил, что сеанс - это зарезервированное слово, поэтому это может сломать его, поэтому я объявил переменную, которую я хочу там наверху, но это «user_ID» & «',' '& _ правильный путь добавить его? Просто двойные кавычки? – Kieronboz