|
| brugernes tekst skal gemmes i databassen Fra : sonny |
Dato : 21-05-02 09:36 |
|
hej igen det er ik første gang. jeg vil gerne have nogle tekst
bokse hvor at bruger kan skrive deres navn by og adresse hvordan
kan jeg få det gemt i min data base ved et enkelt tryk på en knap
jeg er snart græde færdig. håber de er nogen der kan hjælpe
--
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
| |
Erik Hansen (21-05-2002)
| Kommentar Fra : Erik Hansen |
Dato : 21-05-02 10:21 |
|
Hej Sonny.
Hvis du nu læser tutorialen på www.html.dk omkring ASP igennem, ved du
lige hvordan du skal gemme data i en Access database.
....:Erik
On Tue, 21 May 2002 08:36:03 +0000 (UTC), sonny <syreballon@ofir.dk>
wrote:
>hej igen det er ik første gang. jeg vil gerne have nogle tekst
>bokse hvor at bruger kan skrive deres navn by og adresse hvordan
>kan jeg få det gemt i min data base ved et enkelt tryk på en knap
>jeg er snart græde færdig. håber de er nogen der kan hjælpe
| |
sonny (21-05-2002)
| Kommentar Fra : sonny |
Dato : 21-05-02 10:33 |
|
jeg har læst tutorialen om asp men det er som om at jeg ikke rigtig kan
få det til at virke med min database (access)
jeg har prøvet mange ting men det vil bare ikke virke det har er det
sidste jeg har prøvet:
INDSÆT TEKST:
<form action="opret1.asp" method="post">
<br>Brugernavn:
<br><input type="text" name="brugernavn">
<br>Password:
<br><input type="text" name="password">
<br>Navn:
<br><input type="text" name="navn">
<br>Addresse:
<br><input type="text" name="adr">
<br>Post nr:
<br><input type="text" name="postnr">
<br>By:
<br><input type=" text="by">
<br>Email:
<br><input type="text" name="email">
<p><input type="Submit" value="Opret">
</form>
MODTAGER TEKSTEN TIL DATABASEN:
strSQL = "Insert into brugertabel (brugernavn, navn, adr, postnr, byen,
email)
values('" & Request.Form("brugernavn") & "','" & Request.Form("navn") &
"','" & Request.Form("adr") & "','" & Request.Form("postnr") & "','" &
Request.Form("byen") & "','" & Request.Form("email") & "')"
Conn.Execute(strSQL)
hjælp
--
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 (21-05-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 21-05-02 11:08 |
|
On Tue, 21 May 2002 09:32:31 +0000 (UTC), sonny <syreballon@ofir.dk>
wrote:
>jeg har læst tutorialen om asp men det er som om at jeg ikke rigtig kan
>få det til at virke med min database (access)
Får du nogen fejlmeddelelser - det er lidt svært for os at gætte, hvad
der evt. går galt, hvis ikke du kommer med alle relevante oplysninger
:)
<snip>
><br><input type=" text="by">
skal nok være "byen", hvis det skal passe med din SQL
<snip>
>strSQL = "Insert into brugertabel (brugernavn, navn, adr, postnr, byen,
>email)
>values('" & Request.Form("brugernavn") & "','" & Request.Form("navn") &
>"','" & Request.Form("adr") & "','" & Request.Form("postnr") & "','" &
>Request.Form("byen") & "','" & Request.Form("email") & "')"
Umiddelbart ser det da meget fornuftigt ud - hvis dine datafelter
allesammen er defineret som "tekst"
Et godt tip til at checke, om din strSQL ser rigtig ud, er
midlertidigt at indsætte disse to linier lige før du Execute'r:
Response.Write strSql
Response.End
>Conn.Execute(strSQL)
>hjælp
Hjalp det?
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
sonny (21-05-2002)
| Kommentar Fra : sonny |
Dato : 21-05-02 11:32 |
|
jeg får denne fejl melding:
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0409)
Strengkonstanten er uafsluttet
/opret1.asp, line 12, column 78
strSQL = "Insert into brugertabel (brugernavn, navn, adr, postnr, byen,
email)
---------------------------------------------------------------------------
--^
--
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 (21-05-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 21-05-02 11:57 |
|
On Tue, 21 May 2002 10:31:54 +0000 (UTC), sonny <syreballon@ofir.dk>
wrote:
>jeg får denne fejl melding:
>
>Fejltype:
>Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0409)
>Strengkonstanten er uafsluttet
>/opret1.asp, line 12, column 78
>strSQL = "Insert into brugertabel (brugernavn, navn, adr, postnr, byen,
>email)
>---------------------------------------------------------------------------
>--^
Aha, så vil jeg gætte på, at du har et linieskift efter denne sidste
parantes. strSQL skal være på én linie.
Forklaring:
"Strengkonstanten" i fejlmeddelelsen betyder her din strSQL. Den
definerer du ved at starte med " efter lighedstegnet - og den skal så
også afsluttes med ". Så når fejlmeddelelsen brokker sig over, at den
er "uafsluttet", betyder det, at den ikke finder et ", før linien
slutter.
Hvis det ikke giver mening, så prøv lige at udksrive din strSQL, som
jeg viste.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
sonny (21-05-2002)
| Kommentar Fra : sonny |
Dato : 21-05-02 12:53 |
|
det virkede lidt.
nu skriver den bare dette her:
Tekniske oplysninger (for supportteknikere)
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Feltet "brugertabel.byen" kan ikke
indeholde en streng af længden nul.
/opret1.asp, line 10
her er hele koden til den:
<%
'databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/hp.mdb")
Conn.Open DSN
strSQL = "Insert into brugertabel (brugernavn, navn, adr, postnr, byen, email)
values('" & Request.Form("brugernavn") & "','" & Request.Form("navn") & "','" &
Request.Form("adr") & "','" & Request.Form("postnr") & "','" &
Request.Form("byen") & "','" & Request.Form("email") & "')"
Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
%>
--
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 (21-05-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 21-05-02 13:57 |
|
On Tue, 21 May 2002 11:52:34 +0000 (UTC), sonny <syreballon@ofir.dk>
wrote:
>det virkede lidt.
>
>nu skriver den bare dette her:
<snip>
>Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
>[Microsoft][ODBC Microsoft Access-driver] Feltet "brugertabel.byen" kan ikke
>indeholde en streng af længden nul.
>/opret1.asp, line 10
Jamen, det må du så se at få noget gjort ved :)
Så - for 3. gang - udskriv din strSql!
Så vil det sikkert vise sig, at Request.Form("byen") er en tom streng.
Årsagen kan være, at du måske ikke fik rettet din formular?
Eller at feltet ikke er udfyldt? Eller ...?
Du kan så vælge at rette egenskaberne for feltet i din database (så
den tillader strenge af længden nul, eller du kan sikre dig, at
felterne er "lovlige", inden de indsættes.
Det sidste fører os så hen til et andet emne: Det er ikke særligt
smart at indsætte Request.Form's direkte i SQL'en. I værste fald kan
du slette hele din database pga. (bevidste eller hændelige)
fejlindtastninger.
Derfor start dit dokument med en "input-sektion", som validerer dine
inputs - fx:
strByen = Request.Form("byen")
If IsEmpty strByen Or Trim(strByen) = "" Then
' Noget kode, der får brugeren til at indtaste noget i feltet
' og hindrer at data indsættes
Else
strByen = Replace(strByen, "'", "''")
' og lignende sikkerhed ...
End If
Tilsvarende skal du sikre dig, at numeriske felter indeholder tal, at
dato-felter indeholder gyldige datoer osv. ... Og i nogle tilfælde kan
man også sikre sig, at input er sandsynligt - fx er det usandsynligt,
at et felt hvor folk skal indtaste deres alder indeholder værdier over
150 ...
Man kan også lave clientside-validering med JavaScript. Det sparer
nogle kald til serveren, men det må ikke blive en erstatning for at
lave validering på serveren.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
Terje (21-05-2002)
| Kommentar Fra : Terje |
Dato : 21-05-02 21:26 |
|
Har lest at Microsoft ikke anbefaler at man bruker den Provider-strengen du
benytter. Bruk heller denne:
Dim sDatabase, sConnectionString
sDatabase = Server.MapPath("/hp.mdb")
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data
Source=" & sDatabase & ";"
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:d3gkeucgse6odugcrurnr8i4a7dfmegtj3@4ax.com...
| On Tue, 21 May 2002 11:52:34 +0000 (UTC), sonny <syreballon@ofir.dk>
| wrote:
|
| >det virkede lidt.
| >
| >nu skriver den bare dette her:
| <snip>
| >Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
| >[Microsoft][ODBC Microsoft Access-driver] Feltet "brugertabel.byen" kan
ikke
| >indeholde en streng af længden nul.
| >/opret1.asp, line 10
|
| Jamen, det må du så se at få noget gjort ved :)
| Så - for 3. gang - udskriv din strSql!
|
| Så vil det sikkert vise sig, at Request.Form("byen") er en tom streng.
| Årsagen kan være, at du måske ikke fik rettet din formular?
| Eller at feltet ikke er udfyldt? Eller ...?
|
| Du kan så vælge at rette egenskaberne for feltet i din database (så
| den tillader strenge af længden nul, eller du kan sikre dig, at
| felterne er "lovlige", inden de indsættes.
|
| Det sidste fører os så hen til et andet emne: Det er ikke særligt
| smart at indsætte Request.Form's direkte i SQL'en. I værste fald kan
| du slette hele din database pga. (bevidste eller hændelige)
| fejlindtastninger.
|
| Derfor start dit dokument med en "input-sektion", som validerer dine
| inputs - fx:
|
| strByen = Request.Form("byen")
| If IsEmpty strByen Or Trim(strByen) = "" Then
| ' Noget kode, der får brugeren til at indtaste noget i feltet
| ' og hindrer at data indsættes
| Else
| strByen = Replace(strByen, "'", "''")
| ' og lignende sikkerhed ...
| End If
|
| Tilsvarende skal du sikre dig, at numeriske felter indeholder tal, at
| dato-felter indeholder gyldige datoer osv. ... Og i nogle tilfælde kan
| man også sikre sig, at input er sandsynligt - fx er det usandsynligt,
| at et felt hvor folk skal indtaste deres alder indeholder værdier over
| 150 ...
|
| Man kan også lave clientside-validering med JavaScript. Det sparer
| nogle kald til serveren, men det må ikke blive en erstatning for at
| lave validering på serveren.
|
|
| Good luck,
| Jørn
|
|
| --
| Jørn Andersen,
| Brønshøj
| |
sonny (21-05-2002)
| Kommentar Fra : sonny |
Dato : 21-05-02 13:32 |
|
tak for det nu virker det men nu har jeg bare et andet problem
hvordan får jeg 2 SQL sætninger sammen med det sådan at det ser
sådan ca sådan her ud:
<%
'databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/hp.mdb")
Conn.Open DSN
strSQL = "Insert into brugertabel (brugernavn, navn, adr, postnr,
byen, email) values('" & Request.Form("brugernavn") & "','" &
Request.Form("navn") & "','" & Request.Form("adr") & "','" &
Request.Form("postnr") & "','" & Request.Form("byen") & "','" &
Request.Form("email") & "')"
' sql sætning nr2
strSQL = "Insert into password (brugernavn, password) values('" &
Request.Form("brugernavn") & "','" & Request.Form("password") & "')"
Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
%>
--
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 (21-05-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 21-05-02 14:02 |
|
On Tue, 21 May 2002 12:31:53 +0000 (UTC), sonny <syreballon@ofir.dk>
wrote:
>tak for det nu virker det men nu har jeg bare et andet problem
>hvordan får jeg 2 SQL sætninger sammen med det sådan at det ser
>sådan ca sådan her ud:
<snip>
Du kan enten give dem hver sit navn eller du kan Execute den første,
før du definerer den anden.
strSQL = " - snip - "
strSQL2 = " - snap - "
Conn.Execute(strSQL)
Conn.Execute(strSQL2)
eller
strSQL = " - snip - "
Conn.Execute(strSQL)
strSQL = " - snap - "
Conn.Execute(strSQL)
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
|
|