Avatar billede casualty Nybegynder
05. april 2002 - 21:01 Der er 23 kommentarer og
3 løsninger

Skriv til database

Er der nogen der kan hjælpe mig med at klargøre, hvad det er for en fejl jeg overser i dette...?

Fejlmeddelelse:

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in INSERT INTO statement.
/tr/modtag.asp, line 24


Og her er scriptet:

<%

dim cn, cnstr
Set Cn = Server.CreateObject("ADODB.Connection")
cnstr = "provider=microsoft.jet.OLEDB.4.0;"
cnstr = cnstr & "Data Source=C:\inetpub\wwwroot\tr\database.mdb;"

Dim navn
navn = Request.Form("brugernavn")

cn.connectionstring = cnstr

cn.open

dim sql
sql = "insert into database(navn)"

cn.execute sql

cn.close

set cn = nothing

%>


Avatar billede Slettet bruger
05. april 2002 - 21:09 #1
Du laver en INSERT-sætning, men fortæller ikke hvilke data der skal i. Det skal nok nærmere være noget i retning af:

INSERT INTO database (navn) VALUES('" & navn & "')"
Avatar billede amd Nybegynder
05. april 2002 - 21:10 #2
Hva.. ka du ik lige skrive scriptet som det er så man kan løse problemet?
Avatar billede keysersoze Ekspert
05. april 2002 - 21:10 #3
du mangler at indsætte noget i databasen - altså mangler at sætte en value... fx;

sql = "insert into database(navn) values ('" & din_variavel & "')"
Avatar billede Slettet bruger
05. april 2002 - 21:12 #4
Hovsa:

sql = "INSERT INTO database (navn) VALUES('" & navn & "')"´

:)
Avatar billede amd Nybegynder
05. april 2002 - 21:13 #5
Insert into tabel (kol, kol2, kol3) VALUES ('" + str1 + "', '" + str2 + "', '" + str3 + "')
Avatar billede amd Nybegynder
05. april 2002 - 21:14 #6
fx:
strsql = "Insert into tabel (kol, kol2, kol3) VALUES ('" + str1 + "', '" + str2 + "', '" + str3 + "')"
set rs = conn.execute(strsql)

Det virker!!

/AMD
Avatar billede casualty Nybegynder
05. april 2002 - 21:26 #7
Nu ser den således ud...Men meddeler at der er en fejl i linie 24???

<html>
<head>
<title>ASP</title>
</head>
<body>


<%

dim cn, cnstr
Set Cn = Server.CreateObject("ADODB.Connection")
cnstr = "provider=microsoft.jet.OLEDB.4.0;"
cnstr = cnstr & "Data Source=C:\inetpub\wwwroot\tr\database.mdb;"

Dim navn
navn = Request.Form("brugernavn")

cn.connectionstring = cnstr

cn.open

dim sql

sql = "INSERT INTO database (database) VALUES('" & navn & "')"

cn.execute sql

cn.close
set cn = nothing


%>


Brugernavnet
<% response.write navn %>
er overført til logfilen

</body>
</html>
Avatar billede casualty Nybegynder
05. april 2002 - 21:27 #8
rettelse...:

<%

dim cn, cnstr
Set Cn = Server.CreateObject("ADODB.Connection")
cnstr = "provider=microsoft.jet.OLEDB.4.0;"
cnstr = cnstr & "Data Source=C:\inetpub\wwwroot\tr\database.mdb;"

Dim navn
navn = Request.Form("brugernavn")

cn.connectionstring = cnstr

cn.open

dim sql

sql = "INSERT INTO database (navn) VALUES('" & navn & "')"

cn.execute sql

cn.close
set cn = nothing


%>


Brugernavnet
<% response.write navn %>
er overført til logfilen

</body>
</html>
Avatar billede casualty Nybegynder
05. april 2002 - 21:27 #9
Databasen hedder "database" og kolonnen hedder "navn"
Avatar billede Slettet bruger
05. april 2002 - 21:28 #10
Hvad hedder din tabel?

sql = "INSERT INTO tabelnavn (navn) VALUES('" & navn & "')"
Avatar billede casualty Nybegynder
05. april 2002 - 21:28 #11
Første kolonne er sat til autonummerering...Gør det nogen foreskel?
Avatar billede casualty Nybegynder
05. april 2002 - 21:30 #12
og tabellen hedder også database
Avatar billede Slettet bruger
05. april 2002 - 21:30 #13
Du skal ikke INSERT INTO DATABASE det er din tabel navn du skal INSERT INTO. Det er det der er problemet.
Avatar billede Slettet bruger
05. april 2002 - 21:31 #14
Nej, det gør ingen forskel. Hvilken fejl får du?
Avatar billede casualty Nybegynder
05. april 2002 - 21:31 #15
Mit tabel navn er "database"
Avatar billede casualty Nybegynder
05. april 2002 - 21:32 #16
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in INSERT INTO statement.
/tr/modtag.asp, line 26
Avatar billede Slettet bruger
05. april 2002 - 21:43 #17
Hmm... Har du andre felter i din tabel?
Avatar billede casualty Nybegynder
05. april 2002 - 21:44 #18
ja 1. felt hedder "ID"...med autonummerering
Avatar billede keysersoze Ekspert
05. april 2002 - 21:47 #19
hvilken felttype er "navn"?
Avatar billede casualty Nybegynder
05. april 2002 - 21:49 #20
tekst?? hvis det er det du mener
Avatar billede amd Nybegynder
05. april 2002 - 21:55 #21
Prøv mæ den gode gamle:
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN
strnavn = request.form("brugernavn")
conn.execute(strsql)
conn.close
set conn = nothing



Det bør virke!!!
Avatar billede amd Nybegynder
05. april 2002 - 21:56 #22
O.B.S kom åbenbart til at slette sql streng prøver igen......
Avatar billede casualty Nybegynder
05. april 2002 - 21:57 #23
Jeg har selv fundet ud af det..."database" er et reserveret ord i sql og skulle derfor sættes i firkantede paranteser...

Men anyway...Tark for hjælpen :-)
Avatar billede amd Nybegynder
05. april 2002 - 21:58 #24
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN
strnavn = request.form("brugernavn")
strsql = "Insert into database (navn) VALUES ('" + strnavn + "')"
conn.execute(strsql)
conn.close
set conn = nothing

Jeg vil mene at det virker!!!
Avatar billede doc404 Novice
05. april 2002 - 22:01 #25
Måske skulle du først lave et par ændringer inden du gør livet mere besværligt end det er...

Du har en database, der indeholder nogle tabeller, der indeholder nogle felter.

Din database er hele "svineriet" og den kan du kalde database hvis du vil. Men din tabeller skal du give nogle fornuftige navne - f.eks. Kunder, Ordre, Spillere etc

Dine feltnavne skal også være sigende og fornuftige Navn,Adr1,PostNr etc...

I Access kan du bruge mellemrum i både tabel og feltnavne. Vedkommende der fik den ide burde skydes. Altså ingen mellemrum i dine navne.

Lad være med at bruge SQL reserverede ord som tabel navne - det bliver lige pludselig et helvede... Du kan finde en liste på nettet søg efter MS ACCESS SQL RESERVED WORDS...
Avatar billede casualty Nybegynder
05. april 2002 - 22:21 #26
Oki :)

Tak for rådet..

Mvh Casualty
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