webForumDet fria alternativet

Lägga till poster...

ASP

7 svar · 328 visningar · startad av M@rtin

Medlem sedan dec. 19992 085 inlägg
Frågan#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!

Medlem sedan aug. 2000113 inlägg
#2

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!"

Medlem sedan dec. 19992 085 inlägg
#3

Tyvärr hjälpte inte det :(
Fortfarande samma fel :(

------------------
//M@rtin || Peachy.nu\\

Sue Me!

Medlem sedan feb. 20005 891 inlägg
#4

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..

Medlem sedan dec. 19992 085 inlägg
#5

Ö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!

Medlem sedan dec. 200012 464 inlägg
#6

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

Medlem sedan dec. 19992 085 inlägg
#7

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!

Medlem sedan dec. 19992 085 inlägg
#8

Hittade felet :)
saknadedes ett ' längst fram oxå :)
Tack för hjälpen :)

------------------
//M@rtin || Peachy.nu\\

Sue Me!

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