Newsgroup: it.comp.www.asp
Titolo: recordset virtuale fatto di matrici, come ordinarlo?

Ciao ragazzi ho bisogno di creare e gestire un recordset virtuale in
memoria,(non utilizzando un DB)
ho visto che lo posso fare mediante l'uso di matrici, così facendo ottengo
un recordset vuoto e non connesso, riesco anche a riempirlo,
ma come posso fare per ordinarlo ad es. secondo il campo "nome" mica posso
usare una sql (visto che non ho una connessione a un DB aperta)? come si fa?
di seguito c'è la porzione di codice presa da msdn per creare e riempire
questo recordset ve la posto per rendervi le idee + chiare (se volete dargli
un occhiata) GRAZIE a TUTTI.
codice:
<%
Sub CreateARecordSet
   Dim ColInfo(1), c0(3), c1(3)
   c0(0) = "Name"         ' Nome colonna.
   C0(1) = Cint(129)      ' Tipo colonna (129 = adChar).
   C0(2) = Cint(40)      ' Dimensione colonna.
   C0(3) = False         ' La colonna è annullabile?
   C1(0) = "Age"         ' Nome colonna.
   C1(1) = Cint(3)      ' Tipo colonna (3 = adInteger).
   C1(2) = Cint(-1)      ' Dimensione colonna.
   C1(3) = True         ' La colonna è annullabile?
   ' Aggiunge le colonne alla definizione del recordset.
   ColInfo(0) = c0
   ColInfo(1) = c1
   ADC1.SourceRecordset = ADF1.CreateRecordset(ColInfo)
End Sub
%>
<%
Sub RsDefineShape()
   Dim vntRecordShape(3)
   Dim vntField1Shape(3)
   Dim vntField2Shape(3)
   Dim vntField3Shape(3)
   Dim vntField4Shape(3)
   ' Per ciascun campo, specificare il nome,
   ' il tipo, la dimensione e la possibilità di annullamento.
   vntField1Shape(0) = "Name"   ' Nome colonna.
   vntField1Shape(1) = CInt(129)   ' Tipo colonna.
   vntField1Shape(2) = CInt(40)   ' Dimensione colonna.
   vntField1Shape(3) = False      ' Annullabile?
   vntField2Shape(0) = "Age"
   vntField2Shape (1) = CInt(3)
   vntField2Shape (2) = CInt(-1)
   vntField2Shape (3) = True
   vntField3Shape (0) = "DateOfBirth"
   vntField3Shape (1) = CInt(7)
   vntField3Shape (2) = CInt(-1)
   vntField3Shape (3) = True
   vntField4Shape (0) = "Balance"
   vntField4Shape (1) = CInt(6)
   vntField4Shape (2) = CInt(-1)
   vntField4Shape (3) = True
   ' Inserisce tutti i campi in una serie di matrici.
   vntRecordShape(0) = vntField1Shape
   vntRecordShape(1) = vntField2Shape
   vntRecordShape(2) = vntField3Shape
   vntRecordShape(3) = vntField4Shape
   ' Utilizza RDSServer.DataFactory per creare un recordset
   ' vuoto. Utilizza una matrice di varianti in cui
   ' ciascun elemento è a sua volta un'altra matrice di
   ' varianti. A ciascuna colonna del recordset corrisponde una
   ' matrice di varianti.
   ' Gli elementi della matrice interna sono il nome, il tipo,
   ' la dimensione e la possibilità di annullamento della colonna.
   Dim NewRs
   ' È possibile utilizzare l'oggetto RDS.DataControl anziché
   ' l'oggetto RDSServer.DataFactory. In questo caso
   ' il seguente codice sarebbe Set NewRS
   ' = ADC1.CreateRecordset(vntRecordShape)
   Set NewRS = ADF.CreateRecordset(vntRecordShape)
   Dim fields(3)
   fields(0) = vntField1Shape(0)
   fields(1) = vntField2Shape (0)
   fields(2) = vntField3Shape (0)
   fields(3) = vntField4Shape (0)
   ' Popola il nuovo recordset con i valori dei dati.
   Dim fieldVals(3)
   ' Utilizza AddNew per aggiungere i record.
   fieldVals(0) = "Joe"
   fieldVals(1) = 5
   fieldVals(2) = CDate(#1/5/96#)
   fieldVals(3) = 123.456
   NewRS.AddNew fields, fieldVals
   fieldVals(0) = "Mary"
   fieldVals(1) = 6
   fieldVals(2) = CDate(#6/5/96#)
   fieldVals(3) = 31
   NewRS.AddNew fields, fieldVals
   fieldVals(0) = "Alex"
   fieldVals(1) = 13
   fieldVals(2) = CDate(#1/6/96#)
   fieldVals(3) = 34.0001
   NewRS.AddNew fields, fieldVals
   fieldVals(0) = "Susan"
   fieldVals(1) = 13
   fieldVals(2) = CDate(#8/6/96#)
   fieldVals(3) = 0.0
   NewRS.AddNew fields, fieldVals
   NewRS.MoveFirst
   ' Assegna al recordset appena creato e popolato
   ' la proprietà SourceRecordset di
   ' RDS.DataControl per effettuare il collegamento dei
   ' controlli visivi.
   Set ADC1.SourceRecordset = NewRS
End Sub
%>
</body>
</html>

 posso usare una sql (visto che non ho una connessione a un DB aperta)
Puoi usare uno degli algoritmi di ordinamento di array che trovi in
qualsiasi libro di introduzione alla programmazione.
--
Saluti.  | E-mail address: f.tarizzo (at) 
to.camcom.it
Fabrizio.| DH/DSS PGP Key-ID: 0x0584E074
         | FP:3D5E 8695 887E C89C E4D0 5384 EDA6 52EA 0584 E074
Sent via Deja.com 
http://www.deja.com/
Before you buy.