Power By I-WEB S.r.l.
DATABASE

  Lezioni

  Access e Internet

ASP

  Introduzione

  Lezioni

  Build Asp page

 
MANUALI SCARICABILI

  Manuale Access

  Manuale Asp

 
COMUNITA'/CHAT

  Comunità virtuale

  Chat


 

PAGINE ASP
Periodico n. 1 - Febbraio 1999 -


Clicca qui per scaricare
il cap. stampabile

Indice

Introduzione
Primi cenni di codice
Array e dintorni

Array e dintorni

Dim myArray(1)
myArray(0) = "this"
myArray(1) = "that"
ReDim Preserve myArray(2)
myArray(2) = "theother"

Gli array sono indicizzati a zero, questo significa che se scrivo come sopra Dim my Array(1) significa che ho riservato due "righe" del nostro array, la riga 0 e la riga 1.

Per variare la dimensione di un array mantenendo inalterato il precedente contenuto (a meno di accorciare la dimensione dell'array ovviamente), uso Redim con la clausola Preserve identicamente a come avveniva in Visual Basic.

COME OPERARE CON GLI ARRAY MONODIMENSIONALI

-Split-

Esempio:

<CODE>
Dim MyString, MyArray
MyString = "Paola,Mario,Luca"
MyArray = Split(MyString, ",")
<CODE>

Risultato:
Un array bidimensionale chiamato "MyArray" con 3 elementi.

-LBound/ UBound-

Mi restituisci il valore più basso e alto rispettivamente dell'array specificato. Il numero massimo di elementi disponibili nell'array, oltre all'ArrayName si può specificare l'elemento da controllare come meglio spiegato nel seguito.

LBound(ArrayName)

ARRAY MULTIDIMENSIONALI

Di sintassi intuitiva si dichiarano così: Dim MyArray(x, y) dove x=colonne e y=righe.

Eccovi un chiaro esempio di come poter usare un array multidimensionale (tratto dal sito http://www2.brinkster.com/home/codelib/howto/aspgeneral/arrays3.asp)

<CODE>
Dim myArray(2,3)

'myArray(col,row)
'Array def is (dept,item,cost)
myArray(0,0) = "housewares"
myArray(1,0) = "sauce pan"
myArray(2,0) = "22.50"
myArray(0,1) = "housewares"
myArray(1,1) = "toaster"
myArray(2,1) = "12.50"
myArray(0,2) = "housewares"
myArray(1,2) = "wooden spoon"
myArray(2,2) = "4.50"
myArray(0,3) = "housewares"
myArray(1,3) = "oven cleaner"
myArray(2,3) = "2.50"

Response.Write("<table border=2>")
Response.Write("<tr><td>Row</td><td>Department</td>")
Response.Write("<td>Item Name</td><td>Cost</td></tr>")

For i = 0 to UBound(myArray, 2)
    Response.Write("<tr><td>#" & i & "</td>")
    Response.Write("<td>" & myArray(0,i) & "</td>")
    Response.Write("<td>" & myArray(1,i) & "</td>")
    Response.Write("<td>" & myArray(2,i) & "</td></tr>")
Next

Response.Write("</table>")
</CODE>

The above yields the following result:

Row Department Item Name Cost
#0 housewares sauce pan 22.50
#1 housewares toaster 12.50
#2 housewares wooden spoon 4.50
#3 housewares oven cleaner 2.50

By: Jared Stauffer

L'unica passaggio ostico di questo codice è il passaggio dove viene preso in considerazione il ciclo For.

UBound(MyArray, 2) significa che prendo il valore maggiore del secondo elemento dell'array (cioè il numero massimo delle righe, "2"). Il ciclo "For" serve in altre parole per riempire tutta la tabella, fino all'ultima riga disponibile.

RECORDSET E ARRAY MULTIDIMENSIONALI

Vediamo subito il codice:

<CODE>
sql = "select * from myTable"
Set RS = Conn.Execute(sql)

'Mette il Recordset nell'array
Dim myArray()
numRows = 0
Do While NOT RS.EOF
    numRows = numRows + 1
    ReDim Preserve myArray(3, numRows)
    myArray(0, numRows - 1) = RS(0)
    myArray(1, numRows - 1) = RS(1)
    myArray(2, numRows - 1) = RS(2)
    myArray(3, numRows - 1) = RS(3)
    RS.MoveNext
Loop
</CODE>

Come importare in pratica tabelle con stringhe sql sarà il nostro obiettivo finale, accantoniamo quindi momentaneamente l'argomento per richiamarlo in seguito.

Per completare il bagaglio "strumenti utili" parliamo di "CICLI CONDIZIONALI".

Prosegui...

   ARTICOLI & VIAGGI
  Articoli

  Viaggi & Foto
 
   DICONO DI NOI
  Ecco quello che dicono di noi...
 
   SONDAGGIO
  Vota subito!
 
   ISCRIVITI GRATIS ALLA NEWSLETTER
Iscriviti ora!

© 2002

 by I-Web S.r.l. All rights reserved.

Website Design by I-Web S.rl.