/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
MySQL syntax error ved INSERT
Fra : Daniel Valentin


Dato : 25-09-04 17:51

Hej Allesammen!

Jeg har oprettet en tabel, og gemt navnet i en cookie.
Herefter på næste side prøver jeg at indsætte en værdi i den
eneste kolonne i tabellen, men det vil bare ikke virke..

SQL = "INSERT INTO '" & Request.Cookies("kurvnr") & "' ('navn')
VALUES ('testtest');"
Conn.Execute(SQL)

Jeg får en MySQL syntax error ved overstående linie. Tabellen
Er der nogen der kan se hvorfor?

--

 
 
Daniel Valentin (25-09-2004)
Kommentar
Fra : Daniel Valentin


Dato : 25-09-04 17:53


> SQL = "INSERT INTO '" & Request.Cookies("kurvnr") & "' ('navn')
> VALUES ('testtest');"
Ovenstående er selvfølgelig i én linie på min side!

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søren Knudby (25-09-2004)
Kommentar
Fra : Søren Knudby


Dato : 25-09-04 18:06

Fejl i Sqlsætning.
> SQL = "INSERT INTO '" & Request.Cookies("kurvnr") & "' ('navn')
> VALUES ('testtest');"
> Conn.Execute(SQL)

Der skal ikke være ' omkring tabelnavnet og heller ikke omkring
kolonnenavnet. Heller intet semikolon til sidst:
SQL = "INSERT INTO " & Request.Cookies("kurvnr") & " (navn)
values ('testtest')"

- Søren

--

Daniel Valentin (25-09-2004)
Kommentar
Fra : Daniel Valentin


Dato : 25-09-04 19:04

> Der skal ikke være ' omkring tabelnavnet og heller ikke omkring
> kolonnenavnet. Heller intet semikolon til sidst:
Ok!

SQL = "INSERT INTO " & Request.Cookies("kurvnr") & " (navn) VALUES
('testtest')"
Conn.Execute(SQL)

Men jeg får stadig en fejlmeddelelse!

> /index.asp, line 27

--

Daniel Valentin (25-09-2004)
Kommentar
Fra : Daniel Valentin


Dato : 25-09-04 19:07

> --
Hmm.. Min sidste linie kom vist ikke med:
Linie 27 (Hvor den siger fejler er) = Conn.Execute(SQL)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne

Peter F. Poulsen (25-09-2004)
Kommentar
Fra : Peter F. Poulsen


Dato : 25-09-04 19:29

Prøv lige at udskrive din SQL streng.

Response.Write SQL

og udkommenter denne linie:
Conn.Execute(SQL)

Det kunne give en ide om hvad der er galt.

--
Venlig hilsen,
Peter F. Poulsen

"Daniel Valentin" <danielvalentin@sol.dk> skrev i en meddelelse
news:4155b3af$0$46893$14726298@news.sunsite.dk...
> > --
> Hmm.. Min sidste linie kom vist ikke med:
> Linie 27 (Hvor den siger fejler er) = Conn.Execute(SQL)
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne



Daniel Valentin (25-09-2004)
Kommentar
Fra : Daniel Valentin


Dato : 25-09-04 20:26

Peter F. Poulsen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Prøv lige at udskrive din SQL streng.
INSERT INTO 7613032 (navn) VALUES ('testtest')


--

Daniel Valentin (25-09-2004)
Kommentar
Fra : Daniel Valentin


Dato : 25-09-04 20:32

Af en eller anden grund kommer kun halvdelen af mine beskeder med
her, så jeg "spammer" lige lidt ;)
streng:
Conn.Execute(SQL)

Peter F. Poulsen (25-09-2004)
Kommentar
Fra : Peter F. Poulsen


Dato : 25-09-04 21:36

Jeg har lige forsøgt at lege lidt med det her lokalt og det lader ikke
umiddelbart til at tabellens navn må være et tal.

Jeg har forsøgt følgende:
-----------------------------------------------------------------
tableName = "1001"
SQL = "INSERT INTO " & tableName & " (navn)"
SQL = SQL & " VALUES ('peter')"
Conn.Execute(SQL)
-----------------------------------------------------------------
Det virker af en eller anden grund ikke. Omdøber jeg tabellen i min database
og gør fx således:

-----------------------------------------------------------------
tableName = "navnetabel"
SQL = "INSERT INTO " & tableName & " (navn)"
SQL = SQL & " VALUES ('peter')"
Conn.Execute(SQL)
-----------------------------------------------------------------
....ja så virker det udmærket.

Er det et "must" i din opgave at tabelnavnene er tal?

--
Venlig hilsen,
Peter F. Poulsen


"Daniel Valentin" <danielvalentin@sol.dk> skrev i en meddelelse
news:4155c798$0$46893$14726298@news.sunsite.dk...
> Af en eller anden grund kommer kun halvdelen af mine beskeder med
> her, så jeg "spammer" lige lidt ;)
> streng:
> Conn.Execute(SQL)



Daniel Valentin (25-09-2004)
Kommentar
Fra : Daniel Valentin


Dato : 25-09-04 22:40

>
> --
> Venlig hilsen,

--

Jens Gyldenkærne Cla~ (26-09-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-09-04 00:19

Peter F. Poulsen skrev:

> Jeg har lige forsøgt at lege lidt med det her lokalt og det
> lader ikke umiddelbart til at tabellens navn må være et tal.

Det er ikke overraskende. Tal har mening i sig selv (som værdier) -
og derfor bør de ikke anvendes som objektnavne. Det er muligt at de
kan anvendes alligevel - men så skal navnet i givet fald escapes. I
MS-databaser gøres det ved at sætte navnet i firkantparenteser - fx
CREATE TABLE [42] (id int)

Det samme gælder i øvrigt for reserverede ord - fx hvis man vil
kalde et felt eller en tabel for "by" eller "order"


> Er det et "must" i din opgave at tabelnavnene er tal?

Noget helt andet - det virker ulogisk at oprette en tabel for hver
kurv. Normal databasedesign vil være at benytte én tabel og så
lægge kurvens id ind som et felt heri.

Det er som regel ikke ønskværdigt at have tabeloprettelser/-
sletninger liggende i et færdigt system.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste