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

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

Månedens bedste
Årets bedste
Sidste års bedste