Ci sono tanti metodi per gestire le listbox in asp prendendo i dati dal database. Quale usate voi, esperti? come strutturate il vostro database? quale pensate sia il metodo più veloce?
Ci sono tanti metodi per gestire le listbox in asp prendendo i dati dal database. Quale usate voi, esperti? come strutturate il vostro database? quale pensate sia il metodo più veloce?
Tutti vogliono parlare, nessuno sa ascoltare.
Leggo con un recordset forward-only i dati e ciclando su di esso stampo nell'html gli items, non so se questo è il metodo più veloce, me lo porto dietro da anni...
Se la tabella del db ha il solo scopo di essere usata per popolare una lista, allora faccio semplicemente 2 colonne ID|DESCRIZIONE, altrimenti dipende dalla tabella.
=tK=
PS: "voi esperti" te lo potevi risparmiare.. rif: http://forum.html.it/forum/showthrea...5&pagenumber=2
non c'era polemica nel mio "esperti". scusa se lo sembra.
Tutti vogliono parlare, nessuno sa ascoltare.
something like this.... vecchio ma "rock-solid"
tieni presente che difficilmente - per queste select - vado a gestire montagne di records....
se dici "per voi esperti" ti escludi dal "nostro" club, molto elitario. sta' attentocodice:Sub List_xxxx (preSel) ' lettura tabella xxxxx sSql = "SELECT * FROM txxxxx ORDER BY Codice" rs.Open sSql, cn Response.Write "<option value='title'>-- Selezionare il Tipo di xxxxxxxxxx --" Do While Not Rs.Eof Response.Write "<option value='" Response.Write Left(rs("Codice") & Space(4), 4) & "|" & rs("Descrizione") Response.Write "'" If preSel = rs("Codice") Then Response.Write " selected" End If Response.Write ">" Response.Write rs("Descrizione") Response.Write vbcrlf Rs.MoveNext Loop Response.Write "</select>" rs.Close End Sub
Non sono esperto ma mi permetto uguale... non mi fischiate sopra seguivo il vostro 3d dal quale è nato questo, inizialmente interessante poi meno, con comunque buoni spunti di approfondimento per chi non è esperto come Voi ma ha Voglia di imparare, per chi come me non gli interessano soluzioni pronte ma gli interessa la logica che Vi sta sotto...ok chiusa parentesi.
Nel codice di Optime notavo questo:
sSql = "SELECT * FROM txxxxx ORDER BY Codice"
rs.Open sSql, cn
Ciò vuol dire che ha allocato in memoria un oggetto rs = RecordSet, ma per fare quel semplice popolamento di listbox non sarebbe meglio fare:
rs = cn.Execute("sSql")
Che non necessità dell'allocamento di un oggetto ADO
Vi ripetto non mi fischiate sopra la mia è solo un osservazione che ho appreso da Voi.
Visita www.castelsardo.net
cittadina del nord sardegna
rs = cn.Execute("sSql")Originariamente inviato da giandosanna
Nel codice di Optime notavo questo:
sSql = "SELECT * FROM txxxxx ORDER BY Codice"
rs.Open sSql, cn
Ciò vuol dire che ha allocato in memoria un oggetto rs = RecordSet, ma per fare quel semplice popolamento di listbox non sarebbe meglio fare:
rs = cn.Execute("sSql")
Che non necessità dell'allocamento di un oggetto ADO
Vi ripetto non mi fischiate sopra la mia è solo un osservazione che ho appreso da Voi.
Perchè, così non lo allochi?
=tK=
si', e' un oggetto preallocato, e lo uso un po' a go-go, quindi non mi porta via memoria. e' solo una questione di abitudine. il tuo suggerimento e' cmq valido.
Alloco la variabile ma non l'oggetto ADOOriginariamente inviato da tekanet
rs = cn.Execute("sSql")
Perchè, così non lo allochi?
=tK=
Visita www.castelsardo.net
cittadina del nord sardegna
tipo quello di optime....
<SELECT id=select2 name="mese">
<OPTION selected><%=mese%></OPTION>
<%
dim rs
set rs=server.CreateObject("ADODB.RecordSet")
dim sql
sql="select * from mesi"
rs.Open sql, cn,1,3
rs.MoveFirst
while not rs.eof
%>
<option><%=rs("mesi")%></option>
<%
rs.MoveNext
wend
rs.close
%>
</SELECT>
Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?
I'm not Jedi. I'm a guy with a lighsaber and a few questions.
e per i valori di default, come vi regolate?
usate tutti l'order by come optime?
Tutti vogliono parlare, nessuno sa ascoltare.