M M@rtin Medlem sedan dec. 1999 2 085 inlägg Frågan 18 feb. 2001 14:54 #1 Hmm.. brukar lägga till poster på mitt egna lilla sätt men nu vill jag programmera asp så effektivt som möjligt o i Vide's asp skola så säger han att man ska lägga in poster typ så här:
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("\cgi-bin\databas.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
SQL = "INSERT INTO tabell1 (namn, Personnummer) VALUES('Vide Wiberg', 7809254638)"
Databas.Execute(SQL)
%>
Och han borde väl veta vad som e snabbast ;)
Men när jag skrev så här:
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open ConString
SQL = "INSERT INTO gb (Namn, Email, Hemsida, Datum, ip, Kommentar) VALUES(namn, email, hemsida, datum, ip, kommentar)"
Databas.Execute(SQL)
End if
%>
Så får jag detta fel:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 6.
Vad gör jag för fel? Och e det här det snabbast sättet?
------------------
//M@rtin || Peachy.nu \\
Sue Me!
D diablo Medlem sedan aug. 2000 113 inlägg Nu vet inte jag om det här funkar, men testa att sätta klamrar på dom fält där data ska in! .. asså:
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open ConString
SQL = "INSERT INTO gb ([Namn], [Email], [Hemsida], [Datum], [ip], [Kommentar]) VALUES(namn, email, hemsida, datum, ip, kommentar)"
Databas.Execute(SQL)
End if
%>
------------------
"I have a problem solver and his name is revolver!"
M M@rtin Medlem sedan dec. 1999 2 085 inlägg Tyvärr hjälpte inte det :(
Fortfarande samma fel :(
------------------
//M@rtin || Peachy.nu \\
Sue Me!
C casca Medlem sedan feb. 2000 5 891 inlägg Koden är väl ofullständig, inte kan du ha använt endast detta? :q
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open ConString
SQL = "INSERT INTO gb (Namn, Email, Hemsida, Datum, ip, Kommentar) VALUES(namn, email, hemsida, datum, ip, kommentar)"
Databas.Execute(SQL)
End if
%>
(Variablerna bl.a. är inte deklarerade, det finns ingen IF-sats m.m)
------------------
med ett jordat eluttag och ett finger fick jag spänning i tillvaron..
M M@rtin Medlem sedan dec. 1999 2 085 inlägg Öhh.. nä asså jag har ju lagrat saker i variablerna o ConString inehåller allt som behövs för att öppa databasen men detta e den enda kod jag använder för att lägga till en post i databasen.
------------------
//M@rtin || Peachy.nu \\
Sue Me!
L LarsG Medlem sedan dec. 2000 12 464 inlägg Jag antar att du har värden i variablerna namn,email etc som du vill stoppa in i databasen.
Då får man skriva så här i stället
SQL = "INSERT INTO gb (Namn, Email, Hemsida, Datum, ip, Kommentar) VALUES('" & namn & "','" & email & "',' & hemsida & "',#" & datum & "#,'" & ip & "','" & kommentar & "')"
Databas.execute (SQL)
Jag antar att kolumnen datum är av typen date och att du har en accessdatabas och där anger datumliteraler inom #
------------------
essentitia preter non sans multiplicandum
M M@rtin Medlem sedan dec. 1999 2 085 inlägg Hmm.. vi närmar oss en lösning men inte riktigt..
för det första så tror jag det saknades ett " i din kod.. vid hemsida tror jag.. satt dit det iaf..
men när jag kör sedan så blir felet så här:
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Martin','martin.lindkvist@webavis.nu','http://www.peachy.nu ',#2001-02-18 17:12:51#,'127.0.0.1','fin sida.....')'.
------------------
//M@rtin || Peachy.nu \\
Sue Me!
M M@rtin Medlem sedan dec. 1999 2 085 inlägg Hittade felet :)
saknadedes ett ' längst fram oxå :)
Tack för hjälpen :)
------------------
//M@rtin || Peachy.nu \\
Sue Me!