webForumDet fria alternativet
Logga in / Bli medlem

Data type mismatch..

ASP

12 svar · 251 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#1

Försöker att lägga till ett inlägg/fråga med "case insert" via ett formulär med:

response.write "<form method=""post"" action=""http://www.sidan.nu/experter_view.asp?Id="&U_Id&"&u_action=insert"">"

'Mycket kod............

select case u_action 
case "insert"

sql = "insert into Inlagg (Id,Datum,Rubrik,Fraga,Svar)"
sql = sql & " values( '" & Id & "' ,'" & Datum & "' ,'" & Rubrik & "' , '" & Fraga & "' , '" & Svar & "' )" 

case "display"
sql="select * from inlagg where log = "&u_log

case else
sql="select * from inlagg where Id = "& U_Id &" order by datum desc "
end select

accessdb="databas/experter" 
cn="driver={Microsoft Access Driver (*.mdb)};"
cn=cn & "dbq=" & server.mappath(accessdb)
Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open sql, cn [b]'line 88[/b]
if u_action <> "insert" then
if rs.eof then
response.redirect script_name &"?Id="& Kategori
end if
end if
'mer kod................

Ger detta trista meddelande.........

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/experter_view.asp, line 88

Kan det vara fel datatyp (tal/text) någon stans eller är det ngt annat?

MVH Jesper T

Medlem sedan feb. 20022 594 inlägg
#2
" & Id & "

Prova alltså utan ' runt "& id &" i SQL-satsen

Medlem sedan nov. 20017 144 inlägg
#3

Det ger:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/experter_view.asp, line 88

:(

Medlem sedan juni 200032 967 inlägg
#4

Vad är det för datatyper på fälten i tabellen?

Medlem sedan dec. 200012 464 inlägg
#5

Datum låter som date och id som numeriskt och Access låter som ..

sql = "insert into Inlagg (Id,Datum,Rubrik,Fraga,Svar)"
sql = sql & " values( " & Id & " ,#" & Datum & "# ,'" & Rubrik & "' , '" & Fraga & "' , '" & Svar & "' )"
Medlem sedan nov. 20017 144 inlägg
#6

Det ser ut så här:

Rubrik = text
Id = tal
Datum = datum/tid
Fraga = Pm
Svar = Pm

Jag tog bort datum helt nu i inserten och la in "nu()" som standardvärde i databasen, med jag får samma fel som första gången. Id är tal, men tar jag bort enkelfnuttarna så får jag det andra felmeddelandet. ([Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. )

MVH Jesper T

Medlem sedan dec. 200012 464 inlägg
#7

Lägg in en utskrift av sql-satsen

response.write sql

så går det lättare att felsöka

Medlem sedan juni 200032 967 inlägg
#8

Vad är ID för värde? Är det inte en räknare?
I så fall ska du utelämna den ur inserten.

Medlem sedan nov. 20017 144 inlägg
#9

Nej, det är inte en räknare det är en speciell kategori.

Medlem sedan nov. 20017 144 inlägg
#10

LarsG, måste det inte vara "case insert", för att det skall gå? Det blir inget när jag skriver det i "case view", och det är ju under inserten jag får felmeddelandet. Jag fattar inte var jag skall skriva ut "sql" för att variabeln skall skrivas ut.

MVH Jesper

Medlem sedan juni 200032 967 inlägg
#11

Precis ovanför rs.Open sql, cn .

Medlem sedan nov. 20017 144 inlägg
#12

Då står det:
insert into Inlagg (Id,Rubrik,Fraga,Svar) values( '' , 'text...' , 'text...' , '' )

Alltså inget framför första och sista kommat.

MVH Jesper

Medlem sedan nov. 20017 144 inlägg
#13

Oj, jag hade visst glömt att ge variablarna något värde... Det verkar funka nu!

Tack!

MVH Jesper

259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)