/ 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
Brug af variabel i forbindelse med: SELECT~
Fra : Henrik Johansne


Dato : 22-08-02 23:11

Kan mab bruge en variabel i forbindelse med SELECT * FROM
og i forbindelse med en anden variabel. ?

Så slipper jeg for at rette 300 .

'**************************************************
'START   LAMPE 1
'**************************************************
Jeg tænkte en variabel her, eksempel vis.
( var Tal
Tal = Tal + 1
så lægges der en
til hver gang)


         (VARIABEL (Tal)HER I STEDET FOR 1)
strSQL = "SELECT * FROM stamsats WHERE Lampe = 1 "      
Set rs = Conn.Execute(strSQL)

      
Hvis stamsats ikke findes
      (navn+VARIABEL (Tal) HER I STEDET FOR 1)
navn1 = "Ledig"

if rs.eof then
      (navn+VARIABEL (Tal) HER I STEDET FOR 1)
navn1 = rs("navn")   
End if
'**************************************************
'END   LAMPE 1
'**************************************************
'**************************************************
'START   LAMPE 2
'**************************************************
(Tal =
Tal + 1)

         (VARIABEL (Tal) HER I STEDET FOR 2)
strSQL = "SELECT * FROM stamsats WHERE Lampe = 2 "      
Set rs = Conn.Execute(strSQL)

      
Hvis stamsats ikke findes
      (navn+VARIABEL (Tal) HER I STEDET FOR 2)
navn2 = "Ledig"

if rs.eof then
      (navn+VARIABEL (Tal) HER I STEDET FOR 2)
navn2 = rs("navn")   
End if
'**************************************************
'END   LAMPE 2
'**************************************************

--
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 (23-08-2002)
Kommentar
Fra : Jørn Andersen


Dato : 23-08-02 00:24

On Thu, 22 Aug 2002 22:11:24 +0000 (UTC), Henrik Johansne
<henrik-johansen@vip.cybercity.dk> wrote:

>Kan mab bruge en variabel i forbindelse med SELECT * FROM
>og i forbindelse med en anden variabel. ?
>
>Så slipper jeg for at rette 300 .

Nej, men du kan bruge et array - som faktisk er et enormt fleksibelt
sted at gemme resultater.
Se fx:
<URL: http://html.dk/tutorials/asp/lektion8.asp>


>'**************************************************
>'START   LAMPE 1
>'**************************************************
>Jeg tænkte en variabel her, eksempel vis.
> ( var Tal
> Tal = Tal + 1
> så lægges der en
>til hver gang)
>
>
>         (VARIABEL (Tal)HER I STEDET FOR 1)
>strSQL = "SELECT * FROM stamsats WHERE Lampe = 1 "      
>Set rs = Conn.Execute(strSQL)
>
>      
>Hvis stamsats ikke findes
>      (navn+VARIABEL (Tal) HER I STEDET FOR 1)
>navn1 = "Ledig"
>
>if rs.eof then
>      (navn+VARIABEL (Tal) HER I STEDET FOR 1)
>navn1 = rs("navn")   
>End if
>'**************************************************
>'END   LAMPE 1
>'**************************************************


>'**************************************************
>'START   LAMPE 2
>'**************************************************
> (Tal =
>Tal + 1)
>
>         (VARIABEL (Tal) HER I STEDET FOR 2)
>strSQL = "SELECT * FROM stamsats WHERE Lampe = 2 "      
>Set rs = Conn.Execute(strSQL)
>
>      
>Hvis stamsats ikke findes
>      (navn+VARIABEL (Tal) HER I STEDET FOR 2)
>navn2 = "Ledig"
>
>if rs.eof then
>      (navn+VARIABEL (Tal) HER I STEDET FOR 2)
>navn2 = rs("navn")   
>End if
>'**************************************************
>'END   LAMPE 2
>'**************************************************

Det er sikkert gået op for dig, at hvis du har mange data, så er det
en ret besværlig måde at tygge dig igennem på

Men det kan da lade sig gøre.

<%
' Først dimensionerer du dit array
' Du vil have to resultater, og da array starter fra 0, bliver det:
Dim arrNavn(1)

' Brug fx en For .. Next-loop
' Loopen indeholder hele din hidtidige kode:
For i = 0 To 1
strSQL = "SELECT navn FROM stamsats WHERE Lampe = " & (i + 1)
Set rs = Conn.Execute(strSQL)

' Hvis stamsats ikke findes
If rs.eof
arrNavn(i) = "Ledig"

' Hvis stamsats ikke findes
Else
arrNavn(i) = rs("navn")
End if

' Husk at lukke og slukke recordset
rs.Close
Set rs = Nothing
Next
%>

Du har nu dine to resultater i:
arrNavn(0) og arrNavn(1) - og du kan bearbejde dem videre herfra.
- fx:
Response.Write arrNavn(1)


Men, men, men:
Hvis du har mere end ganske få data, så er det ikke en ret effektiv
metode: Danne Sql-streng, fyre den af mod databasen, hive data ud,
lukke recordset - altsammen for hver eneste lille resultat.

En anden metode:
<%
' Først hiver vi alle data ud på én gang:
' Bemærk: Vi tage lige Lampe-værdien med ud
strSQL = "SELECT Lampe, navn FROM stamsats WHERE Lampe IN (1, 2)" & _
" ORDER BY Lampe ASC"
Set rs = Conn.Execute(strSQL)

' Så løber vi alle mulige værdier igennem
' Vi ved jo ikke, om recordsettet indeholder 0, 1 eller 2 poster

For i = 1 To 2
If rs.eof Then
arrNavn(i) = "Ledig"
ElseIf rs("Lampe") <> i Then
arrNavn(i) = "Ledig"
Else
arrNavn(i) = rs("navn")
rs.movenext
End If
Next

' Husk at lukke og slukke recordset
rs.Close
Set rs = Nothing
%>

Du har også her dine to resultater i:
arrNavn(0) og arrNavn(1) - og du kan bearbejde dem videre herfra.

Koden kan sikkert effektiveres mere ...



Good luck!

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

Stig Johansen (23-08-2002)
Kommentar
Fra : Stig Johansen


Dato : 23-08-02 04:16

Hej.



"Henrik Johansne" <henrik-johansen@vip.cybercity.dk> wrote in message
news:ak3nic$hb2$1@sunsite.dk...
> Kan mab bruge en variabel i forbindelse med SELECT * FROM
> og i forbindelse med en anden variabel. ?
[snip]

Nu kender jeg ikke lige så meget til ASP, men i andre værktøjer, gør man
følgende (pseudo kode)

Statementet sættes til:
SELECT * FROM stamsats WHERE Lampe = ?
Hvor ? angiver en parameter.
Herefter vil man typisk prepare dette. Bemærk, at statementet er statisk
herefter.
Så etableres et loop:
sæt parameter, måske query.params[0] = Variabel
åbne queryen
behandle data
close queryen
loop slut..

Som nævnt må du selv finde de tilsvarende ASP-properties.

--

Med venlig hilsen/Best regards
Stig Johansen
Stig.Johansen@udvikling.it.dk
(remove dot dk)




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

Månedens bedste
Årets bedste
Sidste års bedste