/ 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
Problemer med sub rutine
Fra : Jens Pedersen


Dato : 27-08-03 15:31

Hej Ng,

Det irreterer mig en anelse, at jeg ikke kan få følgende til at virke:

Jeg har en adresseliste i en mysql-database, som personerne kan rette selv.
Man skal i en select-boks vælge det navn, man vil rette. Jeg opretter
select-boksen på følgende måde (jeg har komprimeret koden en del for
overblikkets skyld):

<select name="slctnavn"
onchange="javascript:location.href='default.asp?main_id=adresser_skriv&navn_
id=' + this.value;">

<option>-- Vælg dit navn --</option>

<%
'Opret elementer i selection boksen
dim navnID
navnID = request.querystring("navn_id")

"Her står en masse kode, der opretter forbindelse til databasen"

'Gennemløb recordset og opret option-element med unik value ud fra
ID i databasen
do
response.write "<option value = '" & rs("ID") & "'"

'Hvis navnID stemmer overens med navnet i boksen, skal det
"markeres"
if int(navnID) = rs("ID") then
response.write " selected"
end if

response.write ">" & rs("navn") & "</option>"
rs.movenext
loop while not rs.eof
%>

</select>

Dette virker fint nok. Nedenunder denne select-boks har jeg så nogle
tekstinput, hvori oplysninger (adresse, tlfnummer, osv.) skal komme frem, så
snart et navn i selection-boksen vælges. Dette kan jeg gøre på følgende
måde:

<input type="text" name="txtnavn" value = "
<%
if navnID <> empty then
strSQL = "select * from adresser where id = '" & int(navnID) & "'"
set rs = conn.execute(strSQL)
response.write rs("navn")
end if
%>">

hvilket så skal gøres igen og igen i hvert input-felt - men det virker. Det
er ret besværligt, da der er en del inputs, så jeg tænkte, at jeg kunne
lægge koden ind i en sub-rutine, f.eks:

public sub get_info(felt)
if navnID <> empty then
strSQL = "select * from adresser where id = '" & int(navnID) & "'"
set rs = conn.execute(strSQL)
response.write rs(felt)
end if
end sub

og så kalde rutinen ved

<input type="text" name="txtnavn" value="<% call get_info("navn") %>">,

men der kommer en fejlmeddelelse, der fortæller, at "typerne stemmer ikke
overens: get_info"
Jeg prøvede så, at lave rutinen om til en funktion:

function sub get_info(felt)
if navnID <> empty then
strSQL = "select * from adresser where id = '" & int(navnID) & "'"
set rs = conn.execute(strSQL)
get_info = rs(felt)
end if
end function

men det virker heller ikke (samme fejlmeddelelse). Hvad dælen er der galt?

Endvidere synes jeg også, at det går en anelse langsomt, fra man ændrer navn
i select-boksen til adressedata kommer frem i tekstinput's, og jeg tror, det
kan laves anderledes - nogen idéer?

Hvis min ide ikke fremstår tydeligt nok, kan i kigge på
http://3zvag.lir.dk/default.asp?main_id=adresser_skriv (kodeordet er
"3zvag" - men sig det nu ikke til nogen ;) og lad venligst være med at rette
i listen!)

--
Jens Pedersen



 
 
Jens Pedersen (27-08-2003)
Kommentar
Fra : Jens Pedersen


Dato : 27-08-03 15:45

"Jens Pedersen" <jens-pedersen@webspeed.dk> skrev i en meddelelse
news:3f4cc0c4$0$5177$edfadb0f@dread11.news.tele.dk...

> function sub get_info(felt)

skulle i indlægget selvfølgelig være function get_info(felt)
(cut'n paste - var lige lidt for hurtig) Det står rigtigt nok i min kode.

--
Jens Pedersen



Benny Nissen (27-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 27-08-03 15:45


"Jens Pedersen" <jens-pedersen@webspeed.dk> skrev i en meddelelse
news:3f4cc0c4$0$5177$edfadb0f@dread11.news.tele.dk...
>
> Endvidere synes jeg også, at det går en anelse langsomt, fra man ændrer
navn
> i select-boksen til adressedata kommer frem i tekstinput's, og jeg tror,
det
> kan laves anderledes - nogen idéer?
>
Ja, du kan jo loade alle dataene ind i arrays og så skifte mellem dem
clientside.
Om det vil hjælpe dig ved jeg ikke. Der skal jo så overføres mange flere
data i første omgang.

> Hvis min ide ikke fremstår tydeligt nok, kan i kigge på
> http://3zvag.lir.dk/default.asp?main_id=adresser_skriv (kodeordet er
> "3zvag" - men sig det nu ikke til nogen ;) og lad venligst være med at
rette
> i listen!)

Ups, jeg kom til at slette hele listen (joke).
Jeg kan ikke rigtige se, hvad du mener med langsomt. Hos mig tager du max. 1
sekund at reloade siden med de nye data. Det kalder jeg ikke langsomt.

--
Benny



Jens Pedersen (27-08-2003)
Kommentar
Fra : Jens Pedersen


Dato : 27-08-03 15:55

"Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
news:3f4cc3f7$0$21608$edfadb0f@dread11.news.tele.dk...

> Ups, jeg kom til at slette hele listen (joke).

Det ved jeg! - lavede det lige sådan, at den indsætter en ny record i stedet
for at opdatere - bare lige for at være på den sikre side ;)

> Jeg kan ikke rigtige se, hvad du mener med langsomt. Hos mig tager du max.
1
> sekund at reloade siden med de nye data. Det kalder jeg ikke langsomt.

Det kan du have ret i!

--
Jens Pedersen



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

Månedens bedste
Årets bedste
Sidste års bedste