/ 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
Kan man mon det?
Fra : **[laessoe]**


Dato : 13-10-03 14:10

Et teoretisk spørgsmål:

Kan nedestående script mon køre?

Jeg skal indsætte i 2 tabeler (NavnEmail og Adressetown), fra én
form med 4 tekstboxe (Fornavn, Email, Adresse og Town)...

Form.htm

<form action="indsaet.asp" method="post">
<input type="text" name="Fornavn">
<input type="text" name="Email">
<input type="text" name="Adresse">
<input type="text" name="Town">
<input type="submit" value="Gem">
</form>

indsaet.asp


<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN

strSQL = "Insert into NavnEmail ("

strSQL = strSQL & "Fornavn, "
strSQL = strSQL & "Email) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("Fornavn") & "', "
strSQL = strSQL & "'" & Request.Form("Email") & "')"

strSQL = "Insert into AdresseTown ("

strSQL = strSQL & "Adresse, "
strSQL = strSQL & "Town) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("Adresse") & "', "
strSQL = strSQL & "'" & Request.Form("Town") & "')"

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

 
 
Ryan Kristensen (13-10-2003)
Kommentar
Fra : Ryan Kristensen


Dato : 13-10-03 15:00

> Jeg skal indsætte i 2 tabeler (NavnEmail og Adressetown), fra én
> form med 4 tekstboxe (Fornavn, Email, Adresse og Town)...

Det kan du sådan set godt, men som du gør det nu, så laver du først en SQL-sætning og så sletter du den med en anden. Hvis du kører
Conn.Execute(strSQL)
imellem de to SQL-sætninger så skulle det virke

--
Ryan



Jens Gyldenkærne Cla~ (13-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-10-03 15:08

**[laessoe]** skrev:

> Kan nedestående script mon køre?

Nej.


> Jeg skal indsætte i 2 tabeler (NavnEmail og Adressetown), fra én
> form med 4 tekstboxe (Fornavn, Email, Adresse og Town)...

Skal de to indsatte poster være relateret? Hvis de fire bokse udgør
en enhed - fx navn og adresse på en person - skal de også hænge
sammen i databasen. Lige her kan jeg ikke se hvorfor du deler det
op i to tabeller, men jeg skal understrege at der er mange tilfælde
hvor det kan være en god ide at bruge flere tabeller. Man skal så
bare sørge for at der er link mellem tabellerne.


> strSQL = "Insert into NavnEmail ("
>
> strSQL = strSQL & "Fornavn, "
> strSQL = strSQL & "Email) "
>
> strSQL = strSQL & "values( "
>
> strSQL = strSQL & "'" & Request.Form("Fornavn") & "', "
> strSQL = strSQL & "'" & Request.Form("Email") & "')"

Her har du én gyldig sql-sætning (omend du burde validere inddata -
jf <http://asp-faq.dk/article/?id=95>).


> strSQL = "Insert into AdresseTown ("
>
> strSQL = strSQL & "Adresse, "
> strSQL = strSQL & "Town) "
>
> strSQL = strSQL & "values( "
>
> strSQL = strSQL & "'" & Request.Form("Adresse") & "', "
> strSQL = strSQL & "'" & Request.Form("Town") & "')"

Her er en anden sql-sætning. Hver for sig er de gode nok - men du
skal udføre dem én ad gangen. Altså sætte conn.execute ind efter
den første opbygning og så lave en ny variabel (eller nulstille den
gamle) for at opbygge den næste sætning.

Men formentlig har du slet ikke brug for to tabeller - og hvis du
har, så skal du bruge et id-nummer fra den første indsættelse til
at relatere den anden indsættelse til den første.
--
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

**[laessoe]** (13-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 13-10-03 15:27

Det er foreløbig et tænkt eksempel.

Det er planen at der skal være et Id1 og et Id2 der skal være
relaterede, så jeg kan hive den ene tabels rækker og hvad der hører
til fra den anden tabel.
>
> Skal de to indsatte poster være relateret?

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


Dato : 13-10-03 15:38

**[laessoe]** skrev:

> Det er foreløbig et tænkt eksempel.
>
> Det er planen at der skal være et Id1 og et Id2 der skal være
> relaterede, så jeg kan hive den ene tabels rækker og hvad der
> hører til fra den anden tabel.

Fint nok - men hvad er din begrundelse for at benytte to tabeller?

NB: Læs 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

**[laessoe]** (13-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 13-10-03 21:17

Min begrundelse:

Jeg bruger Tabel1 og Tabel2, hver med 25 til 30 kolloner, så det er
mest for overskulighedens skyld.

Jeg ved ikke, er der noget der taler imod en tabel med 60 kolloner -
jeg tænker gennemløbet i DB'en etc?

Jens GyldenkærneClausen wrote in
> Fint nok - men hvad er din begrundelse for at benytte to tabeller?


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


Dato : 13-10-03 22:03

**[laessoe]** skrev:

> Jeg bruger Tabel1 og Tabel2, hver med 25 til 30 kolloner, så
> det er mest for overskulighedens skyld.

Er din database normaliseret? Man kan godt komme ud for at have
mange kolonner i en tabel, men ofte er det et tegn på at tabellen
ikke er bygget fornuftigt op. Send evt. dine feltnavne til gruppen.

> Jeg ved ikke, er der noget der taler imod en tabel med 60
> kolloner - jeg tænker gennemløbet i DB'en etc?

Man kan udmærket arbejde med en tabel med 60 felter - det er så
bare en god ide at nøjes med at vælge de felter man har brug for i
forespørgsler (ikke noget med "SELECT *" hvis man ikke har brug for
alle felter).

NB: Skriv venligst dine kommentarer nedenunder citaterne - jf. 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

**[laessoe]** (13-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 13-10-03 22:46

Jens GyldenkærneClausen wrote in

> Er din database normaliseret?

Ikke endnu..

> Send evt. dine feltnavne til gruppen.

Jeg er ikke nået så langt i projektet, så jeg har alle felter klar.
Jeg er blot ved at forberede hvordan jeg skal gribe det an.

Kan du evt. hjælpe mig med noget andet:

Jeg har følgende:

Hent.htm:

<form action="hent.asp" method="post">
<input type="text" name="Hent">
<input type="submit" value="Gem">
</form>

Hent.asp:

<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("test.mdb")
Conn.Open DSN

strSQL = "SELECT Email FROM personer WHERE Firma = '" &
Request.Form("Hent") & "'"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
%>

Hvad er der galt? Jeg prøver i formen at indtaste et firma i DB'en
og så skulle dettes E-mail kaldes fra DB'en???

--
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 (14-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 14-10-03 01:47

On Mon, 13 Oct 2003 21:45:49 +0000 (UTC), **[laessoe]**
<laessoe@yahoo.com> wrote:

>strSQL = "SELECT Email FROM personer WHERE Firma = '" &
>Request.Form("Hent") & "'"

Set objRs = Conn.Execute(strSQL)

Response.Write objRs("email")

>Conn.Close
>Set Conn = Nothing
>%>
>
>Hvad er der galt? Jeg prøver i formen at indtaste et firma i DB'en
>og så skulle dettes E-mail kaldes fra DB'en???

Prøv med ovenstående.

Good luck!

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

**[laessoe]** (14-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 14-10-03 21:25

> Good luck!

Det virker ikke - hent.asp ser sådan ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN

strSQL = "SELECT Email FROM personer WHERE Kontaktperson = '" &
Request.Form("Hent") & "'"

Set objRs = Conn.Execute(strSQL)

Response.Write objRs("Email")

Conn.Close
Set Conn = Nothing
%>

Hvad er der galt ?


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


Dato : 13-10-03 22:57

**[laessoe]** skrev:

>> Er din database normaliseret?
>
> Ikke endnu..

Det er meget lettere hvis du får strukturen på plads før du lægger
for mange data ind. Prøv at tegne nogle ER-diagrammer[1] og se om det
giver mening.

Du kan evt. få sparring i databasegruppen: <news:dk.edb.database>.


> Kan du evt. hjælpe mig med noget andet:

[snip - eksempel]

> Hvad er der galt? Jeg prøver i formen at indtaste et firma i
> DB'en og så skulle dettes E-mail kaldes fra DB'en???

Hvad sker der?

Første bud for god fejlrapportering: Fortæl både hvad du forventer
der skal ske og hvad der rent faktisk sker.

Kig forbi <http://asp-faq.dk/article/?id=41> for at se hvad der er
relevant at oplyse.

Noter:
======

[1] Entitetsrelations-diagrammer viser sammenhængen (relationerne)
mellem tabeller (entiteter) i en database
--
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

**[laessoe]** (14-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 14-10-03 07:59

> Hvad sker der?

Ikke noget den returnede en blank side, men jeg har fundet fejlen. Jeg
havde sat et ' ind omkring request.form som gjorde at den kun returnerer
væredien i DB'en hvis man indtaser '" & Request.Form...."' ... det var
sent jeg lavede scriptet...

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


Dato : 14-10-03 21:54

**[laessoe]** skrev:

> Det virker ikke - hent.asp ser sådan ud:

[snip]

> Hvad er der galt ?

Jeg gentager lige hvad jeg skrev i går aftes:

,--------
| Første bud for god fejlrapportering: Fortæl både hvad du forventer
| der skal ske og hvad der rent faktisk sker.
|
| Kig forbi <http://asp-faq.dk/article/?id=41> for at se hvad der er
| relevant at oplyse.
`--------

Det er ikke mindre gyldigt i dag.
--
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

**[laessoe]** (15-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 15-10-03 10:20

> Første bud for god fejlrapportering: Fortæl både hvad du forventer
> der skal ske og hvad der rent faktisk sker.

Problemet er løst. Jeg fik Serverfejl 500 (mener jeg), men har
efterfølgende fundet frem til fejlen.

Tak for hjælpen.

--
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 : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste