/ 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
Hvor er fejlen?
Fra : Morten


Dato : 05-11-02 19:55

Hejsa!
Jeg har en formular med en RequestQuerystring kalled "opret". Det
funker også godt nok, men den kan ikke lide min opret-del...
Jeg har følgende kode ... hvor er fejlen henne? Jeg er kørt sur i
koden :(

Håber nogen gider hjælpe - på forhånd tak.

- Morten.

Fejlen er:

ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or
are in conflict with one another.

/test/medlemmer/NyBruger.asp, line 129
------
<form method="post" action="NyBruger.asp?mode=opret">
<p align="center">
<font size="2"><b>
Vælg et brugernavn:</b></font><br><input type="text"
name="brugernavn" value="<%=Request("brugernavn")%>"><p
align="center">
<font size="2"><b>
Vælg et password:</b></font><br><input type="password"
name="password"><p align="center">
<b><font size="2">
Indtast din email:</font></b><br><input type="text" name="email"
value="<%=Request("email")%>"><p align="center">
<b><font size="2">
Indtast din alder:</font></b><br><input type="text" name="alder"
value="<%=Request("alder")%>"><p align="center">
<b><font size="2">
Indtast din by:</b></font><br><input type="text" name="city"
value="<%=Request("city")%>"><p align="center">
<input type="submit" value="Bliv medlem!">
</form>
---------- (Længere nede -->): ----------
<% if mode = "opret" then
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

if (Request.Form("brugernavn") <> "" AND Request.Form("password")
<> "" AND Request.Form("email") <> "" AND Request.Form("alder")
<> "" AND Request.Form("city") <> "") then

Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from bruger where brugernavn = '" &
Request("brugernavn") & "'"
rs.Open strsql, conn, 1, 3

if rs.eof or rs.BOF then
rs.AddNew
rs("brugernavn") = Server.HTMLEncode(Request("brugernavn"))
rs("password") = Server.HTMLEncode(Request("password"))
rs("email") = Server.HTMLEncode(Request("email"))
rs("alder") = Server.HTMLEncode(Request("alder"))
rs("city") = Server.HTMLEncode(Request("city"))
rs.update
Response.Redirect("login.asp")
else
Response.Write("<b><font color='red'>Brugernavnet er
optaget</font></b><br>")
end if
rs.Close
set rs = nothing
else
Response.Write("<b><font color='red'>Der var fejl i dine
indtastninger</font></b><br>")
end if
end if %>
<% end if %>

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

 
 
Jens Gyldenkærne Cla~ (05-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-11-02 22:35

Morten skrev:

> Jeg har en formular med en RequestQuerystring kalled "opret". Det
> funker også godt nok, men den kan ikke lide min opret-del...
> Jeg har følgende kode ... hvor er fejlen henne? Jeg er kørt sur i
> koden :(

Tag et kik på <http://www.asp-faq.dk/article/?id=41>.

Send derefter fejlmeddelelsen, koden på det sted det går galt (evt.
plus et par linjer før) og ikke mindst indholdet i din sql-variabel
(strsql) som det ser ud umiddelbart før rs.Open.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Morten (05-11-2002)
Kommentar
Fra : Morten


Dato : 05-11-02 23:10

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:

> Tag et kik på <http://www.asp-faq.dk/article/?id=41>.
>
> Send derefter fejlmeddelelsen, koden på det sted det går galt (evt.
> plus et par linjer før) og ikke mindst indholdet i din sql-variabel
> (strsql) som det ser ud umiddelbart før rs.Open.

Her er min str-sætning - og den giver fejl på den nederste linje
(linje 129) med rs.Open, ja: Her er et par linjer før

Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from bruger where brugernavn = '" &
Request("brugernavn") & "'"
--> fejlen: rs.Open strsql, conn, 1, 3

Men hvori består fejlen? Jeg kan ikke rigtig gennemskue fejlen, men
har heller ikke arbejdet så meget med databaser - der er jeg "mindre"
newbie.

På forhånd tak for hjælpen - og tak for det brugbare link!

- Morten.

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

Jens Gyldenkærne Cla~ (05-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-11-02 23:18

Morten skrev:

>> ...ikke mindst indholdet i din sql-variabel (strsql) som det ser
>> ud umiddelbart før rs.Open.

Den sidste del har du vist misforstået. Du skal skrive strsql ud
med Response.write - sådan som det er beskrevet på
<http://www.asp-faq.dk/article/?id=41>.

Lige før linjen med rs.Open sætter du følgende ind:
   Response.write strsql

> strSQL = "select * from bruger where brugernavn = '" &
> Request("brugernavn") & "'"

Et gæt er at du ikke får fat i noget med Request("brugernavn") -
men når du skriver strsql ud kan du selv se om det er rigtigt.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

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


Dato : 06-11-02 17:04

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:

> Lige før linjen med rs.Open sætter du følgende ind:
>    Response.write strsql
>

Jeg har indsat det, men får stadig fejlen at rs.Open linjen er i
conflict ...

- Morten.

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

Jørn Andersen (06-11-2002)
Kommentar
Fra : Jørn Andersen


Dato : 06-11-02 18:14

On Wed, 6 Nov 2002 16:03:55 +0000 (UTC), Morten
<ChilliBoy@chilliboy.dk> wrote:

>> Lige før linjen med rs.Open sætter du følgende ind:
>>    Response.write strsql
>
>Jeg har indsat det, men får stadig fejlen at rs.Open linjen er i
>conflict ...

Jo, men det at du indsætter linien *løser ikke* dit problem.
Derimod giver det dig en udskrift af din SQL-streng. (*)

Denne udskrift kan man så bruge som hjælp til at se, om der skulle
være et problem i SQL-strengen, som evt. kunne forårsage den
fejlmeddelelse, du får.

Hvis du ikke selv kan se, hvad fejlen i SQL-strengen er, så post den
her.

(*) Hvis du ikke får udskrevet SQL-strengen, men kun får
fejlmeddelelsen, hjælper det som regel at lave en Response.End lige
efter udskriften og før du åbner recordsettet - fx:

conn.Open "medlem"
qr = "SELECT antal FROM Tabel1 WHERE intI =" & Request.Form("id")
Response.Write "SQL-sætning bliver: " & qr
Response.End
set rs = conn.Execute(qr) ' <-- linie 10

Response.End-linien gør, at kodeafviklingen stopper her og evt. fejl i
næste linie ikke blokerer for udskriften.
(Måske det burde ændres i FAQ'en?)

[Mail-kopi til Jesper Stocholm - håber det undtagelsesvis er OK,
Jesper ...]

Good luck!

--
Jørn Andersen,
Brønshøj

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


Dato : 06-11-02 18:48

Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
> Hvis du ikke selv kan se, hvad fejlen i SQL-strengen er, så post den
> her.
>
> (*) Hvis du ikke får udskrevet SQL-strengen, men kun får
> fejlmeddelelsen, hjælper det som regel at lave en Response.End lige
> efter udskriften og før du åbner recordsettet

Min kode er nu:
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from bruger where brugernavn = '" &
Request("brugernavn") & "'"
Respone.Write "SQL-sætning bliver: " & strSQL
Response.End
rs.Open strsql, conn, 1, 3

og fejlen er: i Resoinse.Write-linjen.

Microsoft VBScript runtime error '800a01a8'
Object required: ''

/test/medlemmer/NyBruger.asp, line 129.

---
Jeg fatter minus af det her - er der ikke en, jeg kan maile eller
omvendt, det gør det hele en del nemmere?

På forhånd tak :)

- Morten.

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

Jesper Stocholm (06-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 06-11-02 19:10

Morten wrote :

> Respone.Write "SQL-sætning bliver: " & strSQL

her skal der vist stå

Response.Write ...

.... læg mærke til det ekstra "s".



--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

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


Dato : 06-11-02 20:32

Jesper Stocholm wrote in
dk.edb.internet.webdesign.serverside.asp:
> Morten wrote :
>
> > Respone.Write "SQL-sætning bliver: " & strSQL
>
> her skal der vist stå
>
> Response.Write ...
>
> .... læg mærke til det ekstra "s".
>
LOL ja, stavelejf, eller hva' det nu hedder... :)

Klart nok, det ændrede jo lidt ... nu siger den
SQL-sætning bliver: select * from bruger where brugernavn =
'Morten'

...og der bliver intet oprettet i databasen :( hmm!
Flere forslag?

På forhånd tak!

- Morten.

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

Jesper Stocholm (06-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 06-11-02 20:41

Morten wrote :

> Jesper Stocholm wrote in
> dk.edb.internet.webdesign.serverside.asp:
>> Morten wrote :
>>
>> > Respone.Write "SQL-sætning bliver: " & strSQL
>>
>> her skal der vist stå
>>
>> Response.Write ...

> Klart nok, det ændrede jo lidt ... nu siger den
> SQL-sætning bliver: select * from bruger where brugernavn =
> 'Morten'
>
> ..og der bliver intet oprettet i databasen :( hmm!
> Flere forslag?

er du sikker på, at løkken overhovedet sættes i gang ? Med andre ord:
returnerer din SQL en række i din database ?

Personligt kan jeg ikke lide din:

if rs.EOF or rs.BOF then

Jeg vil hellere bruge

if not rs.EOF then
   '...
else

--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Jesper Stocholm (06-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 06-11-02 19:09

Jørn Andersen wrote :

> On Wed, 6 Nov 2002 16:03:55 +0000 (UTC), Morten
> <ChilliBoy@chilliboy.dk> wrote:

> Response.End-linien gør, at kodeafviklingen stopper her og evt. fejl i
> næste linie ikke blokerer for udskriften.
> (Måske det burde ændres i FAQ'en?)
>
> [Mail-kopi til Jesper Stocholm - håber det undtagelsesvis er OK,
> Jesper ...]

det bør nok ændres i FAQ'en ... og jeg vil gøre det så snart enten Jakob
eller jeg får implementeret at man kan rette i egne artikler.



Mht emailen, så er den ikke kommet frem ... men den er måske sendt til
jespers@stocholm.invalid ?

--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Jørn Andersen (06-11-2002)
Kommentar
Fra : Jørn Andersen


Dato : 06-11-02 20:11

On Wed, 6 Nov 2002 18:09:18 +0000 (UTC), Jesper Stocholm
<jespers@stocholm.invalid> wrote:

>Mht emailen, så er den ikke kommet frem

Fejl 40 - men nu har du jo læst ...

--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (06-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-11-02 22:52

Morten skrev:

>> > Respone.Write "SQL-sætning bliver: " & strSQL

>> Response.Write ...

> LOL ja, stavelejf, eller hva' det nu hedder... :)

Det er et glimrende eksempel på hvorfor det er smart at bruge
Option Explicit øverst i alle asp-filer (se [1]). Med Option Explicit
brokker asp-parseren sig over sådan en stavefejl.

> SQL-sætning bliver: select * from bruger where brugernavn =
> 'Morten'

Er det linjeskift med? (jeg tror egentlig ikke at det er problemet,
men man ved aldrig).

Hvis du har adgang til Access-basen fra din egen PC så prøv at åbne
den, lav en ny forespørgsel, skift til sql-visning og sæt sql-
sætningen fra din debuglinje ind. Prøv at se om den kan køre her.

> ..og der bliver intet oprettet i databasen :( hmm!

Det er nu ikke så mærkeligt. De forslag du har fået drejer sig
alene om fejlfinding - ikke om løsninger. For at løse dit problem
må du først finde ud af hvad det er - det er dét du i øjeblikket
får hjælp til.

Noter:
======

[1] <http://www.aspfaq.dk/article/?id=9>
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

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


Dato : 06-11-02 23:18

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Det er et glimrende eksempel på hvorfor det er smart at bruge
> Option Explicit øverst i alle asp-filer (se [1]). Med Option Explicit
> brokker asp-parseren sig over sådan en stavefejl.
>

Ja okay, my bad :)

> Er det linjeskift med? (jeg tror egentlig ikke at det er problemet,
> men man ved aldrig).

Nej, det står udi én køre. Det, jeg tror fejlen er, er at jeg har valgt
select * from bruger ... jeg har ikke en insert into bruger ... hvordan
får jeg lavet en sådan sætning når felterne i bruger hedder:
brugernavn, password, email, city og alder?
Noget lignende det her, jeg kan bare ikke syntaksen for det:

strSQL = Insert into bruger (brugernavn, password, email, city, alder)

> Hvis du har adgang til Access-basen fra din egen PC så prøv at åbne
> den, lav en ny forespørgsel, skift til sql-visning og sæt sql-
> sætningen fra din debuglinje ind. Prøv at se om den kan køre her.
>
> [1] <http://www.aspfaq.dk/article/?id=9>

Altid godt med broken links ;) hehe.

På forhånd tak.

- Morten. :)

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

Jesper Stocholm (06-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 06-11-02 23:28

Morten wrote :

> Jens GyldenkærneClausen wrote in

>> [1] <http://www.aspfaq.dk/article/?id=9>
>
> Altid godt med broken links ;) hehe.

aspfaq.dk var desværre taget, da vi kom til at tale om, at det ville være
en god idé at lave en FAQ for gruppen. Jens glemte blot en "hyphen" eller
bindestreg i URI. Den rigtige er http://www.asp-faq.dk/article/?id=9



--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Jens Gyldenkærne Cla~ (07-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-11-02 00:26

Jesper Stocholm skrev:

>>> [1] <http://www.aspfaq.dk/article/?id=9>
>>
>> Altid godt med broken links ;) hehe.
>
> aspfaq.dk var desværre taget, da vi kom til at tale om, at det
> ville være en god idé at lave en FAQ for gruppen. Jens glemte
> blot en "hyphen" eller bindestreg i URI. Den rigtige er
> http://www.asp-faq.dk/article/?id=9

Bindestregen var der skam da jeg sendte indlægget. Linket stod
sidst på en linje og blev derfor ombrudt - sådan her <www.asp-
faq.dk/article/?id=9>. Da det var eneste indhold i en fodnote [1] troede
jeg at linket bare ville stå fint på en linje. Men KorrNews tolker
åbenbart bindestregen som - en bindestreg, som derfor fjernes når de
led den binder sammen står på samme linje.

Jeg beklager under alle omstændigheder det fejlagtige link.

Noter:
======

[1] ...som denne her - genereret af KorrNews
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Jens Gyldenkærne Cla~ (07-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-11-02 00:34

Morten skrev:

> Nej, det står udi én køre. Det, jeg tror fejlen er, er at jeg
> har valgt select * from bruger ...

Jeg har helt glemt hvordan din oprindelige kode ser ud - men ja,
hvis du kun laver en select og ikke bruger .addnew på postsættet så
er det svært at indsætte data.

> Noget lignende det her, jeg kan bare ikke syntaksen for det:
>
> strSQL = Insert into bruger (brugernavn, password, email,
> city, alder)

Prøv at kigge på dette indlæg
<news:Xns92BD65E062900jcdmfdk@gyrosmod.dtext.news.tele.dk> der
gennemgår de forskellige handlingsforespørgsler.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Morten (07-11-2002)
Kommentar
Fra : Morten


Dato : 07-11-02 08:59

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
>
> Jeg har helt glemt hvordan din oprindelige kode ser ud - men ja,
> hvis du kun laver en select og ikke bruger .addnew på postsættet så
> er det svært at indsætte data.

Min kode ser sådan ud: Grunden til at jeg har valgt select, er, at jeg
vil checke om brugernavnet i forvejen er i databasen.

Jeg ved bare ikke helt hvor jeg skal indsætte inserto into
bruger-sætningen henne og hvordan den ser ud. Kunne ikke åbne dit
andet link :(

På forhånd tak

- Morten.
----------
<% if mode = "opret" then if Request.ServerVariables("REQUEST_METHOD")
= "POST" then             
if (Request.Form("brugernavn") <> "" AND Request.Form("password") <>
"" AND Request.Form("email") <> "" AND Request.Form("alder") <> "" AND
Request.Form("city") <> "") then
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from bruger where brugernavn = '" &
Request("brugernavn") & "'"
Response.Write "SQL-sætning bliver: " & strSQL
Response.End
rs.Open strsql, conn, 1, 3
if rs.eof or rs.BOF then
rs.AddNew
rs("brugernavn") = Server.HTMLEncode(Request("brugernavn"))
rs("password") = Server.HTMLEncode(Request("password"))
rs("email") = Server.HTMLEncode(Request("email"))
rs("alder") = Server.HTMLEncode(Request("alder"))
rs("city") = Server.HTMLEncode(Request("city"))
rs.update
Response.Redirect("login.asp")
else Response.Write("<b><font color='red'>Brugernavnet er
optaget</font></b><br>")
end if
rs.Close
set rs = nothing ... osv. %>

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

Jens Gyldenkærne Cla~ (07-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-11-02 10:21

Morten skrev:

> Min kode ser sådan ud: Grunden til at jeg har valgt select,
> er, at jeg vil checke om brugernavnet i forvejen er i
> databasen.

Det er også en god idé. Umiddelbart burde det virke på den måde
som du har skrevet det - men hvis du vil benytte en INSERT-sætning
kan du bruge følgende skabelon:

' Tjek om brugernavnet eksisterer
sqlTjek = "SELECT Count(*) as Antal FROM brugere " & _
" WHERE brugernavn = '" & plingTjek(Request.Form("bruger")) & "'"

   set rsTjek = Conn.execute (sqlTjek)

' Hvis brugernavnet findes vil count(*) være større end 0
' Det gemmer vi i en boolesk værdi

   Optaget = CBool(rs("Antal") > 0)

If not Optaget Then
   ' Indsæt brugernavnet
   sqlInsert = "INSERT INTO brugere (brugernavn, pwd, mail) " & _
       " VALUES '" & bruger & "'.....(fortsæt selv)

Else
   ' Giv besked om at navnet er taget

End if

> Jeg ved bare ikke helt hvor jeg skal indsætte inserto into
> bruger-sætningen henne og hvordan den ser ud. Kunne ikke åbne
> dit andet link :(

Ah - du bruger en webbaseret adgang til usenet. Overvej at prøve
et rigtigt usenetprogram. Din udbyder har formentlig en newsserver,
og ellers kan du benytte Sunsite.dk som tilbyder gratis news. Det
er langt lettere at arbejde med et rigtigt newsprogram (prøv
Dialog - et af de allerbedste programmer til news -
<http://www.40tude.com/dialog/>).

Indtil da kan du se ovennævnte indlæg via Google:
<http://groups.google.com/groups?as_umsgid=Xns92BD65E062900jcdmfdk@gyrosmod.dtext.news.tele.dk>

Har du i øvrigt prøvet at køre forespørgslen i Access? (som jeg
beskrev for et par indlæg siden)

> rs.Open strsql, conn, 1, 3

Prøv også at fjerne de to sidste parametre fra rs.Open (altså
"rs.Open strSQL, conn").

> rs("brugernavn") = Server.HTMLEncode(Request("brugernavn"))
> rs("password") = Server.HTMLEncode(Request("password"))
> rs("email") = Server.HTMLEncode(Request("email"))
> rs("alder") = Server.HTMLEncode(Request("alder"))
> rs("city") = Server.HTMLEncode(Request("city"))

Jeg kan ikke umiddelbart se nogen grund til at gemme værdierne
HTMLencodet. Du kan evt. benytte HTMLencode når data skal vises
på en hjemmeside. Hvis du gemmer på denne måde skal du for at være
konsekvent også søge på samme måde - hvis brugeren "måne" er
oprettet vil navnet ikke blive fanget i din select (fordi "måne"
<> Server.HTMLencode("måne"))

> rs.update
> Response.Redirect("login.asp")

Du bør lukke rs og conn før du bruger Response.redirect.
--
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

Morten (07-11-2002)
Kommentar
Fra : Morten


Dato : 07-11-02 16:28

Jens GyldenkærneClausen wrote in dk.edb.internet.webdesign.serverside.asp:

> Ah - du bruger en webbaseret adgang til usenet. Overvej at prøve
> et rigtigt usenetprogram. Din udbyder har formentlig en newsserver,
> og ellers kan du benytte Sunsite.dk som tilbyder gratis news. Det
> er langt lettere at arbejde med et rigtigt newsprogram (prøv
> Dialog - et af de allerbedste programmer til news -
> <http://www.40tude.com/dialog/>).

Jeps, jeg er på via html.dk, som bruger sunsite.dk :)

> Indtil da kan du se ovennævnte indlæg via Google:
> <http://groups.google.com/groups?as_umsgid=Xns92BD65E062900jcdmfdk@gyrosmod.dtext.news.tele.dk>

Læser jeg lige :)

> Har du i øvrigt prøvet at køre forespørgslen i Access? (som jeg
> beskrev for et par indlæg siden)

Nej, det har jeg ikke forstand på at gøre :) jeg ville ønske jeg havde et asp-program der ville
hjælpe mig i stedet for mit notepad :)

Jeg har prøvet at bruge din skabelon og rettelser til min elendige kode, men den giver sq stadig
fejl *argh!*:
"Undetermined string constant:
sqlInsert = "INSERT INTO bruger (brugernavn, password, email, alder, city) " & _ " VALUES '" &
brugernavn & " & password & " & email & " & alder & " & city & "

Mangler der et anførselstegn eller parentes eller hvad? Den vil ikke køre med nogle af delene :(

Men på forhånd tak for hjælpen - du kunne evt. ikke maile mig Jens?

- Morten.

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

Jørn Andersen (07-11-2002)
Kommentar
Fra : Jørn Andersen


Dato : 07-11-02 18:31

On Thu, 7 Nov 2002 15:27:41 +0000 (UTC), Morten
<ChilliBoy@chilliboy.dk> wrote:

>"Undetermined string constant:
>sqlInsert = "INSERT INTO bruger (brugernavn, password, email, alder, city) " & _ " VALUES '" &
>brugernavn & " & password & " & email & " & alder & " & city & "

Prøv med:
sqlInsert = "INSERT INTO bruger" & _
" (brugernavn, password, email, alder, city)" & _
" VALUES ('" & brugernavn & "', '" & password & "'," & _
" '" & email & "', " & alder & ", '" & city & "')"

(forudsat at alle felter er tekstfelter - undtagen alder, som antages
at være et talfelt)
Du skal kopiere direkte - *uden* at rette linieskift.

>Mangler der et anførselstegn eller parentes eller hvad? Den vil ikke køre med nogle af delene :(

Der mangler lidt af hvert

Strukturen skal være:
str = "INSERT INTO <tabelnavn>" & _
" (felt1, felt2, felt3)" & _
" VALUES (val1, val2, val3)"

(Strengen er "skåret over" med:
" & _
"
- for at undgå lange linier.)

Hvis værdien skal indsættes fra en variabel, bliver sidste linie til:
" VALUES (" & vaerdi1 & ", " & vaerdi2 & ", " & vaerdi3 & ")"

Du har altså i virkeligheden opdelt den oprindelige streng i 3
variable + 4 tekst-strenge, som så "limes sammen" med &-tegnet.

Til slut en specialitet, hvis den variable skal indsættes i et
tekst-felt - så skal der nemlig anførselstegn om værdien.
Problemet er så, at hvis man bare satte anførselstegn om, så ville ASP
(rettere VB Script) jo tro, at strengen blev afsluttet:
" VALUES ("" & vaerdi1 & "", ... osv

Derfor bruger man som regel enkelt-anførselstegn om tekstværdierne:
" VALUES ('" & vaerdi1 & "', " & vaerdi2 & ", '" & vaerdi3 & "')"

Her er første og sidste værdi tekst-værdier (altså de skal indsættes i
et tekstfelt i en database), mens den midterste er et tal-felt.
VB Script kan på denne måde stadig skelne mellem hvad der hører til
streng-deln og hvad der er variable.


Håber det hjalp lidt på forståelsen.
Desværre har html.dk ikke gjort ret meget ud af at forklare dette med
eksempler. Det er en af de mest almindelige fejl, man dumper i - både
som begynder og mere garvet :)


>Men på forhånd tak for hjælpen - du kunne evt. ikke maile mig Jens?

Mener du ikke, at resten af gruppen skal have noget ud af det?

Good luck!

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste