Jag antar att den här frågan varit uppe 200 ggr. tidigare, men varför i hela fridens namn funkar inte den här koden?
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=***;Password=***"
%>
<%
SQL = "INSERT INTO nyheter(ID, rubrik, ingress, huvudtext, forfattare) VALUES('" & Request.Form("ID") & "','" & Request.Form("rubrik") &"','" & Request.Form("ingress") & "','"& Request.Form("huvudtext") &"','" & Request.Form("forfattare") &"')"
Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
%>
Följande felmeddelande får jag:
ADODB.Connection.1 error '80004005'
SQLState: 22005
Native Error Code: -3030
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/asp_test/news_adda.asp, line 19
Tacksam för svar.
LarsGMedlem sedan dec. 200012 464 inlägg Någon av dina kolumner är numerisk.
Jag gissar att det är ... id
SQL = "INSERT INTO nyheter(ID, rubrik, ingress, huvudtext, forfattare) VALUES(" & Request.Form("ID") & ",'" & Request.Form("rubrik") &"','" & Request.Form("ingress") & "','"& Request.Form("huvudtext") &"','" & Request.Form("forfattare") &"')"
Conn.Execute SQL
I så fall inga apostrofer.
------------------
essentitia preter non sans multiplicandum
@ndersMedlem sedan juni 200032 969 inlägg du skall inte ha apostrofer runt värden till numeriska fält, utan endast runt text/pm. datumtyp skall ha # runt värdet.
sökning, min herre, sökning. sökfunktionen hittar du längst upp till höger.
------------------
mördar-anders, det är jag.
Jag böjer mitt huvud, och med skammens rodnad på mina kinder över att jag inte använt sökfunktionen (fast det hade jag!) tackar jag ödmjukast för de snabba svaren...
När jag ändå är igång med att förnedra mig själv kan jag väl lika gärna fortsätta, nu får jag felmeddelande:
ADODB.Connection.1 error '80004005'
SQLState: 37000
Native Error Code: -3502
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/asp_test/news_adda.asp, line 14
Men linje 14 ser ju bara ut så här;
Conn.Execute SQL
Vad kan det nu vara som spökar?
@ndersMedlem sedan juni 200032 969 inlägg om id är ett räknarfält får du inte manuellt sätta in någonting där.
skriv ut sql-frågan med response.write innan execute, och släng upp den här, så får vi kika på den.
mvh,
------------------
mördar-anders, det är jag.
Jag kom på det själv. Nu får jag skämmas en gång till, jag kunde inte uppdatera id:t med request.form eftersom jag inte hade nåt sånt fält!
Dra på trissor!