webForumDet fria alternativet

Data type mismatch..

12 svar · 251 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#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

EkströmMedlem sedan feb. 20022 594 inlägg
#2
" & Id & "

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

Jesper TMedlem 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

:(

@ndersMedlem sedan juni 200032 969 inlägg
#4

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

LarsGMedlem 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 & "' )"
Jesper TMedlem 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

LarsGMedlem 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

@ndersMedlem sedan juni 200032 969 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.

Jesper TMedlem sedan nov. 20017 144 inlägg
#9

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

Jesper TMedlem 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

@ndersMedlem sedan juni 200032 969 inlägg
#11

Precis ovanför rs.Open sql, cn .

Jesper TMedlem 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

Jesper TMedlem 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

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)