/ 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
Problemer med variabler i SQL sætning
Fra : Frank Sørensen


Dato : 10-06-02 23:00

Hej

Jeg bruger koden til at redigere i min gæstebog og slette delen fungerer
fint, men jeg kan ikke få den til at redigere i den.
Hvad gør jeg galt????

mvh.
Frank Sørensen


*** FEJLTYPE***

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/gb/ret2.asp, line 27, column 37
strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked = '"StrBesked"', navn
= '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'
------------------------------------^

***KODEN***

<%
beskedID = Request.QueryString("id")
mode = Request.QueryString("mode")

strEmne = Request.form("emne")
strBesked = Request.form("besked")
strNavn = Request.form("navn")
strEmail = Request.form("link")

Set Conn1 = Server.CreateObject("ADODB.Connection")
Conn1.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ="
& Server.MapPath("gb.mdb")

'Løkke til at bestemme om der skal slettes eller redigeres

if mode = slet then

'SQL-Sætningen som sletter en post
strSQL = "Delete from tb_gb where id = " & beskedID

Conn1.Execute(strSQL)
Conn1.Close
set Conn1 = Nothing
response.redirect ("admin.asp")
else

'SQL-Sætningen som redigerer en post
strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked = '"StrBesked"',
navn = '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'
Conn1.Execute(strSQL2)
Conn1.Close
set Conn1 = Nothing
response.redirect ("admin.asp")
End if
%>



 
 
Terje (11-06-2002)
Kommentar
Fra : Terje


Dato : 11-06-02 00:23


"Frank Sørensen" <frank2@tdcadsl.dk> wrote in message
news:3d052119$0$71638$edfadb0f@dspool01.news.tele.dk...

| *** FEJLTYPE***
|
| Fejltype:
| Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
| Slut på sætning var ventet
| /gb/ret2.asp, line 27, column 37
| strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked = '"StrBesked"',
navn
| = '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'
| ------------------------------------^

Ser ut til at du mangler en avsluttende ". Prøv med : '"beskedID"'"

terje




Torben Brandt (11-06-2002)
Kommentar
Fra : Torben Brandt


Dato : 11-06-02 00:24

Frank Sørensen wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej
>
> Jeg bruger koden til at redigere i min gæstebog og slette delen fungerer
> fint, men jeg kan ikke få den til at redigere i den.
> Hvad gør jeg galt????
>
> mvh.
> Frank Sørensen
>
>
> *** FEJLTYPE***
>
> Fejltype:
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
> Slut på sætning var ventet
> /gb/ret2.asp, line 27, column 37
> strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked = '"StrBesked"', navn
> = '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'
> ------------------------------------^
>
> ***KODEN***
>
> <%
&gt; beskedID = Request.QueryString("id")
&gt; mode = Request.QueryString("mode")
&gt;
&gt; strEmne = Request.form("emne")
&gt; strBesked = Request.form("besked")
&gt; strNavn = Request.form("navn")
&gt; strEmail = Request.form("link")
&gt;
&gt; strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked =
'"StrBesked"',
&gt; navn = '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'

Du skal skrive dette i stedet for linien herover:
strSQL2 = "Update tb_gb SET emne = '" & StrEmne & "', besked = '" & StrBesked &
"', navn = '" & StrNavn & "', email = '" & StrEmail & "' where id = '" &
beskedID & "'"

Princippet er at du skal 'stoppe' strengen med ", så skrive &, fordi du vil
sætte det sammen med noget mere. Så skrive variablen og så evt. sætte det
sammen med endnu en streng (dvs endnu et &)

mvh Torben


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

Peter (11-06-2002)
Kommentar
Fra : Peter


Dato : 11-06-02 00:26

"Frank Sørensen" <frank2@tdcadsl.dk> wrote in message
news:3d052119$0$71638$edfadb0f@dspool01.news.tele.dk...
> Hej
>
> Jeg bruger koden til at redigere i min gæstebog og slette delen fungerer
> fint, men jeg kan ikke få den til at redigere i den.
> Hvad gør jeg galt????

Hej

Først vil jeg sige at det er super-lækkert, at du har vedlagt både
fejlmeddelelsen og koden!

Prøv med:

strSQL2 = "Update tb_gb SET emne = '"& StrEmne &"', besked = '"& StrBesked
&"', navn = '"& StrNavn &"', email = '"& StrEmail &"' where id = '"&
beskedID &"'"

Der manglede &-tegn og til sidst manglede der en " til at afslutte din
trext-streng.

Det kan virke forvirrende med alle de " i en linie, men du skal se det som
en lang streng, som starter og slutter med ".
Når du vil anvende dine variabler _stopper_ du text-strengen med en "
tilføjer et &-tegn og angiver nu din VBScript-variabel, tilføjer et &-tegn
og et " for at starte text-strengen igen og så fremdeles.

Går det galt kan du altid tælle antal " som skal være et lige antal.

I øvrigt - med mindre beskedID består af andet end tal skal du ikke have '
omkring det.

Hilsen Peter



Nicolai Jee (11-06-2002)
Kommentar
Fra : Nicolai Jee


Dato : 11-06-02 00:44

Frank Sørensen wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej
>
> Jeg bruger koden til at redigere i min gæstebog og slette delen fungerer
> fint, men jeg kan ikke få den til at redigere i den.
> Hvad gør jeg galt????
>
> mvh.
> Frank Sørensen
>
>
> *** FEJLTYPE***
>
> Fejltype:
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
> Slut på sætning var ventet
> /gb/ret2.asp, line 27, column 37
> strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked = '"StrBesked"', navn
> = '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'

prøv at rette sql sætningen til
strSQL2 = "Update tb_gb SET emne = '"&StrEmne&"', besked = '"&StrBesked&"',
navn
= '"&StrNavn&"', email = '"&StrEmail&"' where id = "&beskedID&"

en variabel i en sql sætning skal altid sættes ind i mellem "&Strvar&" hvis det
er en ren tal værdi.
eller '"&Strvar&"' hvis det er en tekst værdi.


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

Frank Sørensen (11-06-2002)
Kommentar
Fra : Frank Sørensen


Dato : 11-06-02 10:35

1000 tak alle sammen, nu virker det.... c",)

nvh
Frank Sørensen

"Nicolai Jee" <drchaos@jee.dk> skrev i en meddelelse
news:ae3dj9$1fe$1@sunsite.dk...
> Frank Sørensen wrote in dk.edb.internet.webdesign.serverside.asp:
> > Hej
> >
> > Jeg bruger koden til at redigere i min gæstebog og slette delen fungerer
> > fint, men jeg kan ikke få den til at redigere i den.
> > Hvad gør jeg galt????
> >
> > mvh.
> > Frank Sørensen
> >
> >
> > *** FEJLTYPE***
> >
> > Fejltype:
> > Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
> > Slut på sætning var ventet
> > /gb/ret2.asp, line 27, column 37
> > strSQL2 = "Update tb_gb SET emne = '"StrEmne"', besked = '"StrBesked"',
navn
> > = '"StrNavn"', email = '"StrEmail"' where id = '"beskedID"'
>
> prøv at rette sql sætningen til
> strSQL2 = "Update tb_gb SET emne = '"&StrEmne&"', besked =
'"&StrBesked&"',
> navn
> = '"&StrNavn&"', email = '"&StrEmail&"' where id = "&beskedID&"
>
> en variabel i en sql sætning skal altid sættes ind i mellem "&Strvar&"
hvis det
> er en ren tal værdi.
> eller '"&Strvar&"' hvis det er en tekst værdi.
>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials



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

Månedens bedste
Årets bedste
Sidste års bedste