/ 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
Ændre rs("navn") med variabel
Fra : Henning Smed Sørense~


Dato : 29-07-06 07:59

Hej,

For at undgå flere IF THEN sætninger forestiller jeg mig at det er muligt at
ændre rs("navn") til rs("navnN") eller rs("navnK") afhængig af værdien af
request("seg").

Koden:
Rs1 = <%="rs(""NAref" & (request("seg")) & """)"%>

Udskriver som forventet:

Rs1 = rs("NArefN")

Men jeg kan ikke overskue hvordan jeg kan udskive værdien af rs("NArefN")
eller rs("NArefK") afhængig af request("seg"). kan nogen i gruppen hjælpe?

På forhånd Tak
Henning





 
 
Jens Peter Rosenkvis~ (29-07-2006)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 29-07-06 12:50

Henning Smed Sørensen wrote:
> Men jeg kan ikke overskue hvordan jeg kan udskive værdien af rs("NArefN")
> eller rs("NArefK") afhængig af request("seg"). kan nogen i gruppen hjælpe?

Du kunne jo evt. lave request("seg") til et tal og så lad dine værdier
ligge i et array. Så kan request("seg") være indekset til arrayet.
Men det vil jo kræve, at du ændrer en del i din kode.

Om du kan lave den anden metode kan jeg ikke umiddelbart svare på.
--
Why do fireflies die so soon?
http://www.jensercube.dk/sig.asp

Jørn Andersen (29-07-2006)
Kommentar
Fra : Jørn Andersen


Dato : 29-07-06 13:53

On Sat, 29 Jul 2006 08:58:52 +0200, "Henning Smed Sørensen"
<henning@smeds.dk> wrote:

>For at undgå flere IF THEN sætninger forestiller jeg mig at det er muligt at
>ændre rs("navn") til rs("navnN") eller rs("navnK") afhængig af værdien af
>request("seg").
>
>Koden:
>Rs1 = <%="rs(""NAref" & (request("seg")) & """)"%>
>
>Udskriver som forventet:
>
>Rs1 = rs("NArefN")
>
>Men jeg kan ikke overskue hvordan jeg kan udskive værdien af rs("NArefN")
>eller rs("NArefK") afhængig af request("seg"). kan nogen i gruppen hjælpe?

Jeg er ikke sikker på, om jeg forstår dig ret, men hvis du vil hente
et bestemt felt fra databasen afhængigt af en Request-værdi, skal du
vel rette i din Sql-streng?

strFeltNavn = "NAref" & Request("seg")

strSql = "SELECT felt1, " & strFeltNavn & " AS MitFelt FROM ...."

Rs1 = rs("MitFelt")

Ved at bruge AS i Sql-strengen slipper du for at ændre andre steder
end i Sql-strengen.

Hvis jeg ikke har forstået det rigtigt, så skriv igen.


Good luck!

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

Henning Smed Sørense~ (29-07-2006)
Kommentar
Fra : Henning Smed Sørense~


Dato : 29-07-06 14:29


"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:n3mmc29734h7533m1rbpq78p0fnogi02eg@4ax.com...
> On Sat, 29 Jul 2006 08:58:52 +0200, "Henning Smed Sørensen"
> <henning@smeds.dk> wrote:

Hej Jørn

> Jeg er ikke sikker på, om jeg forstår dig ret, men hvis du vil hente
> et bestemt felt fra databasen afhængigt af en Request-værdi, skal du
> vel rette i din Sql-streng?

Jeg har ikke udtrykt mig klart, jeg henter alle felter fra en enkelt
database post, derefter skal jeg have vist alle fælles felter og felterne
som slutter med 'N' hvis Request("seg") = 'N'

For øjjeblikket bruger jeg en IF THEN:

<%IF request("seg") = "N" THEN%>
<table border="1" width="600">
<tr>
<td align="center" height="25">
<%=rs("Owner")%>
</td>
<td align="center" height="25">
<%=rs("BackhDesignatorN")%>
</td>
<td align="center" height="25">
<%=rs("BackhNoN")%>
</td>
</tr>
</table>
<%ELSE%>
<table border="1" width="600">
<tr>
<td align="center" height="25">
<%=rs("Owner")%>
</td>
<td align="center" height="25">
<%=rs("BackhDesignatorK")%>
</td>
<td align="center" height="25">
<%=rs("BackhNoK")%>
</td>
</tr>
</table>
<%END IF%>

Der er mange felter i opslaget så derfor håber jeg at undgå IF THEN ved at
anvende en vaiabel i =rs("variabel") og på den måde få udskrevet recorden
afhængig af request("seg")

M.v.h.
Henning




Michael Zedeler (29-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 29-07-06 14:51

Henning Smed Sørensen wrote:
> "Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
> news:n3mmc29734h7533m1rbpq78p0fnogi02eg@4ax.com...
>
>>On Sat, 29 Jul 2006 08:58:52 +0200, "Henning Smed Sørensen"
>><henning@smeds.dk> wrote:
>
>
> Hej Jørn
>
>
>>Jeg er ikke sikker på, om jeg forstår dig ret, men hvis du vil hente
>>et bestemt felt fra databasen afhængigt af en Request-værdi, skal du
>>vel rette i din Sql-streng?
>
>
> Jeg har ikke udtrykt mig klart, jeg henter alle felter fra en enkelt
> database post, derefter skal jeg have vist alle fælles felter og felterne
> som slutter med 'N' hvis Request("seg") = 'N'
>[klip]
> Der er mange felter i opslaget så derfor håber jeg at undgå IF THEN ved at
> anvende en vaiabel i =rs("variabel") og på den måde få udskrevet recorden
> afhængig af request("seg")

Det lyder ikke som om at du har normaliseret din database korrekt.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Jørn Andersen (29-07-2006)
Kommentar
Fra : Jørn Andersen


Dato : 29-07-06 20:33

On Sat, 29 Jul 2006 15:28:36 +0200, "Henning Smed Sørensen"
<henning@smeds.dk> wrote:

>
>"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
>news:n3mmc29734h7533m1rbpq78p0fnogi02eg@4ax.com...
>> On Sat, 29 Jul 2006 08:58:52 +0200, "Henning Smed Sørensen"
>> <henning@smeds.dk> wrote:
>
>Hej Jørn
>
>> Jeg er ikke sikker på, om jeg forstår dig ret, men hvis du vil hente
>> et bestemt felt fra databasen afhængigt af en Request-værdi, skal du
>> vel rette i din Sql-streng?
>
>Jeg har ikke udtrykt mig klart, jeg henter alle felter fra en enkelt
>database post, derefter skal jeg have vist alle fælles felter og felterne
>som slutter med 'N' hvis Request("seg") = 'N'

Som Michael skriver tyder det på en uhensigtsmæssig database-struktur.
Men bortset fra det, kan jeg ikke se, at du ikke kan bruge det
forslag, jeg kom med.

Det er uhensigtsmæssigt at hente felter, du ikke bruger. Hvis du
bruger:
"SELECT * ..." ?
så ret det til at bruge
"SELECT felt1, felt2, felt3 ..."
Det gør din kode mere genneskuelig.


>For øjjeblikket bruger jeg en IF THEN:
>
><%IF request("seg") = "N" THEN%>
><table border="1" width="600">
><tr>
> <td align="center" height="25">
> <%=rs("Owner")%>
> </td>
> <td align="center" height="25">
> <%=rs("BackhDesignatorN")%>
> </td>
> <td align="center" height="25">
> <%=rs("BackhNoN")%>
> </td>
></tr>
></table>
><%ELSE%>
><table border="1" width="600">
><tr>
> <td align="center" height="25">
> <%=rs("Owner")%>
> </td>
><td align="center" height="25">
> <%=rs("BackhDesignatorK")%>
> </td>
> <td align="center" height="25">
> <%=rs("BackhNoK")%>
> </td>
></tr>
></table>
><%END IF%>

Hvis vi tilpasser mit eksempel fra før:
strEndelse = Request("seg")
strFeltBd = "BackhDesignator" & strEndelse
strFeltBn = "BackhNo" & strEndelse
osv.

Så kunne din SQL fx hedde:
"SELECT Owner, " & strFeltBd & " AS Bd, " & strFeltBn & " AS Bn ...

Så er det jo bare at udskrive med:
rs("Owner")
rs("Bd")
rs("Bn")
osv. - uanset hvad din request("seg") er.

>Der er mange felter i opslaget så derfor håber jeg at undgå IF THEN ved at
>anvende en vaiabel i =rs("variabel") og på den måde få udskrevet recorden
>afhængig af request("seg")


Good luck!

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

Henning Smed Sørense~ (30-07-2006)
Kommentar
Fra : Henning Smed Sørense~


Dato : 30-07-06 06:30


"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:e0dnc2t2rffuqb5iqfju3ipm0nop80s2ru@4ax.com...
> On Sat, 29 Jul 2006 15:28:36 +0200, "Henning Smed Sørensen"
>> Som Michael skriver tyder det på en uhensigtsmæssig database-struktur.
> Men bortset fra det, kan jeg ikke se, at du ikke kan bruge det
> forslag, jeg kom med.
>
> Det er uhensigtsmæssigt at hente felter, du ikke bruger. Hvis du
> bruger:
> "SELECT * ..." ?
> så ret det til at bruge
> "SELECT felt1, felt2, felt3 ..."
> Det gør din kode mere genneskuelig.
>
>
Hej Jørn og Michael,

Jeg har ikke mulighed for at ændre database strukturen, det er en stor
eksisterende database jeg tilføjer nye søgefunktioner til.
Derfor har jeg besluttet at følge Jørns råd med den tilføjelse at jeg
anvender to sider afhængig af Request("seg") værdien, derefter henter kun de
database poster der skal udskrives og udskriver.
Grunden til at anvende to sider er at det bliver for uoverskueligt med en
side når jeg først skal kontrollere Request("seg") værdien og derefter via
brugerens login vise data til read/only brugere og en redigerings formular
til read/write brugere.

Hvad er ulemperne ved at hente alle data fra en enkelt database række med
'SELECT * WHERE IDNo=' i forhold til selektivt at vælge f.eks. 15 af 25
felter tekst felter?

Jeg er ikke nogen ørn til ASP og SQL men finder gerne en løsning som måske
ikke er den optimale men fungerer, derfor er det er gode råd og kommentarer
fra gruppen en uvurderlig hjælp for mig.

Tak for hjælpen
Henning



Michael Zedeler (31-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 31-07-06 08:32

Henning Smed Sørensen wrote:

> Jeg har ikke mulighed for at ændre database strukturen, det er en stor
> eksisterende database jeg tilføjer nye søgefunktioner til.

Så er konsekvensen jo også den at du er med til at konsolidere Jeres
muligvis dårlige databasedesign. Du bør undersøge det og vende det en
enkelt gang med dem, der er ansvarlige for systemet.

Jo mere kode der er skrevet til en denormaliseret database, jo sværere
er det at normalisere den.

> Hvad er ulemperne ved at hente alle data fra en enkelt database række med
> 'SELECT * WHERE IDNo=' i forhold til selektivt at vælge f.eks. 15 af 25
> felter tekst felter?

Man kan øge performance en smule. Det afhænger primært af felternes
størrelse.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

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

Månedens bedste
Årets bedste
Sidste års bedste