Avatar billede cjannic Nybegynder
20. januar 2004 - 10:28 Der er 15 kommentarer og
2 løsninger

ASP gæstebog

Jeg har problemer med at få min database til at "æde" input til gæstebogen:
Det giver flg. meddelse:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/bibl/gastebog-ny/skriv_ok.asp, line 25

Der skulle være skriverettigheder til databasen:

Kildekoden ser sådan ud (udklip): Linie 25 er markeret.
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN
' SQL sætning opbygges
strSQL = "Insert into gaestebogen (Navn, By, Land, Besked) values('"& Request.Form("Navn") &"','"& Request.Form("By") &"','"& Request.Form("Land") &"','"& Request.Form("Besked") &"')"
Conn.Execute(strSQL)( denne linie er nr. 25)
Conn.Close
Set Conn = Nothing
%>
Avatar billede powerade Nybegynder
20. januar 2004 - 10:31 #1
Prøv sådan her istedet.
strSQL = "Insert into gaestebogen
(Navn, By, Land, Besked)
values('"& Request.Form('Navn') &"','"& Request.Form('By') &"','"& Request.Form('Land') &"','"& Request.Form('Besked') &"')"
Avatar billede powerade Nybegynder
20. januar 2004 - 10:34 #2
Tror dit problem er at du i din Request.Form bruger " " omkring navnet på den værdi du vil hente og dermed "starter" query-strengen igen...
Avatar billede mm12010 Nybegynder
20. januar 2004 - 10:35 #3
strSQL = "Insert into gaestebogen (Navn, [By], Land, Besked) values('"& Request.Form("Navn") &"','"& Request.Form("By") &"','"& Request.Form("Land") &"','"& Request.Form("Besked") &"')"
Avatar billede powerade Nybegynder
20. januar 2004 - 10:36 #4
Ellers kan du forsøge dig med at lægge dine værdier i "variabler" først..
NavnIn = Request.Form("Navn")
ByIn = Request.Form("By")
LandIn = Request.Form("Land")
BeskedIn = Request.Form("Besked")
strSQL = "Insert into gaestebogen (Navn, By, Land, Besked) values('"& NavnIn &"','"& ByIn &"','"& LandIn &"','"& BeskedIn &"')"
Avatar billede mm12010 Nybegynder
20. januar 2004 - 10:38 #5
Avatar billede mm12010 Nybegynder
20. januar 2004 - 10:39 #6
By er et reserveret ord i SQL-syntaksen og derfor skal der [] omkring ellers tror DB-driveren at det er SQL-kommando i stedet for en tabelrække
Avatar billede powerade Nybegynder
20. januar 2004 - 10:45 #7
Havde jeg ikke lige spottet.. ;o)
Avatar billede cjannic Nybegynder
20. januar 2004 - 10:46 #8
Til powerade: Det første forslag giver denne meddelse:
Microsoft VBScript compilation error '800a0409'
Unterminated string constant
/bibl/gastebog-ny/skriv_ok.asp, line 23
strSQL = "Insert into gaestebogen
---------------------------------^

Til mm12010 - dit første forslag giver denne meddelse:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Field 'gaestebogen.Navn' cannot be a zero-length string.
/imme-gram/gastebog-ny/skriv_ok.asp, line 25
Avatar billede cjannic Nybegynder
20. januar 2004 - 10:51 #9
Når jeg indsætter:
strSQL = "Insert into gaestebogen
(Navn, By, Land, Besked)
values('"& Request.Form('Navn') &"','"& Request.Form('[By]') &"','"& Request.Form('Land') &"','"& Request.Form('Besked') &"')"

Giver det:
Unterminated string constant
/imme-gram/gastebog-ny/skriv_ok.asp, line 23
strSQL = "Insert into gaestebogen
---------------------------------^
Avatar billede powerade Nybegynder
20. januar 2004 - 10:55 #10
Du skal ikke bruge [] i din Request... Den ska bare være alm.. tror jeg.. ;o)
Request.Form('By')
Avatar billede cjannic Nybegynder
20. januar 2004 - 10:55 #11
Når jeg indsætter:
' SQL sætning opbygges
strSQL = "Insert into gaestebogen (Navn, [By], Land, Besked) values('"& Request.Form("Navn") &"','"& Request.Form("By") &"','"& Request.Form("Land") &"','"& Request.Form("Besked") &"')"

Conn.Execute(strSQL)

Giver det:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Field 'gaestebogen.Navn' cannot be a zero-length string.
/bibl/gastebog-ny/skriv_ok.asp, line 25
Avatar billede powerade Nybegynder
20. januar 2004 - 10:57 #12
Hvad indeholder værdien Request.Form("Navn")?? Hvis du ikke tillader at det felt må være Null, så skal den jo indeholde en værdi..
Avatar billede mm12010 Nybegynder
20. januar 2004 - 14:13 #13
NavnIn = Request.Form("Navn")
If NavnIn = "" Then
  NavnIn = "ingen bruger indtastning"
End If
ByIn = Request.Form("By")
If ByIn = "" Then
  ByIn = "ingen bruger indtastning"
End If
LandIn = Request.Form("Land")
If LandIn = "" Then
  LandIn = "ingen bruger indtastning"
End If
BeskedIn = Request.Form("Besked")
If BeskedIn = "" Then
  BeskedIn = "ingen bruger indtastning"
End If
strSQL = "Insert into gaestebogen (Navn, [By], Land, Besked) values('"& NavnIn &"','"& ByIn &"','"& LandIn &"','"& BeskedIn &"')"
Avatar billede cpufan Juniormester
20. januar 2004 - 14:34 #14
strSQL = "Insert into gaestebogen (Navn, By, Land, Besked) values("& Request("Navn") &","& Request("By") &","& Request("Land") &","& Request("Besked") &")"
Avatar billede cpufan Juniormester
20. januar 2004 - 14:35 #15
om igen sådan

strSQL = "Insert into gaestebogen (Navn, [By], Land, Besked) values("& Request("Navn") &","& Request("By") &","& Request("Land") &","& Request("Besked") &")"

Glemte lige [] om by, i den ovenover
Avatar billede cjannic Nybegynder
22. januar 2004 - 14:52 #16
Det lykkedes - og blev tilmed ret godt - Tusind tak for hjælpen.
Avatar billede mm12010 Nybegynder
26. januar 2004 - 09:34 #17
selv tak :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester