/ 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
Formular og opdatering af database
Fra : johan svendsen


Dato : 17-09-03 13:27

Hej Nyhedsgruppe

Forleden fik undertegnede og et par venner fra min gamle klasse
en ide, vi ville lave en hjemmeside med info osv. om vores gamle
gymnasieklasse... Herefter satte jeg mig for bla. at lave
klasselisten, jeg surfede lidt på nettet og fandt hurtigt
html.dk... herefter læste jeg de tutorials i har liggende, de er
i øvrigt meget let forståelige... Well, jeg kom til sidste afsnit
i ASP tutorial, afsnittet om opdatering af databasen
(klasselisten ligger som en database), jeg ville lave en side med
en formular (som set i lektion 11 om ASP) dvs. altså kæde de to
sider sammen... umiddelbart ville jeg tro at det bare var at
koble de to koder, men det virker altså ikke... hvad gør jeg galt
?
jeg skriver koden til opdater.asp herunder:

<body>
<%
' 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("/cgi-bin/database.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Update personer set "
strSQL = strSQL & "Fornavn= <% Response.Write
Request.Form(brugernavn) %> "


' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>%>
<h1>Databasen er opdateret!</h1>
</body>

koden til op.asp (som er den side man afvikler, med den grafiske
side):

<html>
<title>Formular</title>
<head>
</head>
<body>
<h1>Skriv dit navn</h1>

<form method="post" action="opdater.asp">
<input type="text" name="brugernavn">
<input type="submit">
</form>

</body>
</html>

Og min browser kommer med følgende fejl:

Error Type:
Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/opdater.asp, line 15, column 70
strSQL = strSQL & "Fornavn= <% Response.Write
Request.Form(brugernavn) <- linie 15 er denne og linien over

Jeg har prøvet meget, men jeg tror at jeg har lokaliseret
problemet til at være "Fornavn= , i jeres tutorial har man
nemlig sat tekst i stedet for en variabel som jeg indsætter...

Jeg håber at jeg har forklaret mit problem tydeligt nok

På forhånd tak!

hilsen Johan

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

 
 
Chrisser (17-09-2003)
Kommentar
Fra : Chrisser


Dato : 17-09-03 13:44

johan svendsen wrote:
> jeg skriver koden til opdater.asp herunder:
>
> <body>
> <%
> ' 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("/cgi-bin/database.mdb")
> Conn.Open DSN

Problemet ligger nok i nedenstående, du har ASP-tags inde i din ASP-kode og
det går ikke. Response.write bruges til at skrive til skærmen og skal
således heller ikke være med i opbygningen af din sql-sætning.[1]

> ' SQL sætning opbygges
> strSQL = "Update personer set "
> strSQL = strSQL & "Fornavn= <% Response.Write
> Request.Form(brugernavn) %> "

Prøv i stedet med:

strSQL = "Update personer set "
strSQL = strSQL & "Fornavn= '" & Request.Form(brugernavn) & "'"

Hvis du kopierer ovenstående over, vil du se at jeg har sat enkelte
anførselstagn ind omkring din variabel. Det er fordi jeg går ud fra at
brugernavn i din database er en streng og så skal den pakkes ind i enkelte
pinger.

[1]
Princippet i at sammensætte en sql-sætning ( eller en hvilken som helst
anden streng ) er:
<%
Dim strSql, strVar

strVar = "Hans"
strSql = " Hej med dig "
' sæt de to variable sammen
strSql = strSql & strVar
' nu vil strSql indeholde "Hej med dig Hans"
' Hvis du vil udskrive den til skærmen :
Response.Write strSql
' Hvis du vil køre den på databasen ( den vil fejle ):
Conn.Execute(strSql)

%>

Mvh
Chrisser



johan svendsen (17-09-2003)
Kommentar
Fra : johan svendsen


Dato : 17-09-03 13:55


Tak for dit svar!!!

> strSQL = "Update personer set "
> strSQL = strSQL & "Fornavn= '" & Request.Form(brugernavn) & "'"

Jeg har prøvet lidt med det du sagde, og det ser ud til at virke, godtnok med
lidt skønhedsfejl (alle elever kom til at hedde johan til fornavn ), men
det virkede...
Forresten ændrede jeg din kode lidt for at den ville, jeg ved ikke, men det er
sikkert bare specifikt for min kode det gælder:

> strSQL = "Update personer set "
> strSQL = strSQL & "Fornavn= '" & Request.Form("brugernavn") & "'" '


MVH
Johan

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

Chrisser (17-09-2003)
Kommentar
Fra : Chrisser


Dato : 17-09-03 14:05

johan svendsen wrote:
> Jeg har prøvet lidt med det du sagde, og det ser ud til at virke,
> godtnok med lidt skønhedsfejl (alle elever kom til at hedde johan
> til fornavn ), men det virkede...

Hæ hæ - sådan går det uden where-delen

> Forresten ændrede jeg din kode lidt for at den ville, jeg ved ikke,
> men det er sikkert bare specifikt for min kode det gælder:
>
>> strSQL = "Update personer set "
>> strSQL = strSQL & "Fornavn= '" & Request.Form("brugernavn") & "'"

Næ, der skal godt nok gåseøjne omkring brugernavn når du henter det ud fra
en form

Må jeg foreslå dig, hvis du ikke allerede har det, at kigge lidt på editorer
der kan finde ud af at farvelægge din kode ?
Så tror jeg du ville have opdaget problemet før du fik fejl ( og jeg ville
have set det med de gåseøjne hvis jeg have skrevet mit svar inde i min )

Der findes flere af dem, f.eks editplus fra http://www.editplus.com/
- der er 30 dages prøvetid på den, derefter kan du registrere den hvis du
kan lide den. Den er god til at farvelægge kode og det frasorterer altså
mange syntaksfejl.


Chrisser



johan svendsen (18-09-2003)
Kommentar
Fra : johan svendsen


Dato : 18-09-03 17:15

mange tak for din hjælp... det er godt at få henvisninger, for som jeg skrev
i starten af dette spørgsmål er jeg ret ny inden for webprogrammering (og
programmering i det heletaget)
;)

MVH
Johan

--
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~ (18-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-09-03 21:04

johan svendsen skrev:

> mange tak for din hjælp... det er godt at få henvisninger, for
> som jeg skrev i starten af dette spørgsmål er jeg ret ny inden
> for webprogrammering (og programmering i det heletaget)

Hvem svarer du? Det er svært at se når du ikke medtager noget af
det indlæg du kommenterer. Se gerne min signatur.
--
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 : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste