Il metodo OpenSchema dell'oggetto Connection
Data di pubblicazione: 27/06/2001
Voto della community: 4,35
(Votanti: 21)
OpenSchema è un metodo dell'oggetto ADO Connection che viene usato raramente ed è di conseguenza pittosto sconosciuto ai più; in questo articolo analizzeremo il suo utilizzo. L'oggetto ADO Connection è molto utilizzato nelle pagine ASP, e con esso anche i suoi metodi come ad esempio Open, Close, Execute, ecc. Esiste un metodo di questo oggetto che ha funzionalità totalmente differenti da quelli sopra citati: il metodo OpenSchema, il quale fornisce i dettagli della struttura di un Database. Anche se poco utilizzato, in alcune situazioni, questo metodo può rivelarsi molto utile. SINTASSI
La sintassi per utilizzare il metodo OpenSchema è la seguente:
Set rs = cn.OpenSchema(TipoQuery[, Criteri, SchemaID])
- TipoQuery: tipo di query-schema da esguire In questo articolo focalizzeremo la nostra attenzione sul parametro TipoQuery.
Questo parametro può assumere uno dei valori contenuti in SchemaEnum; per visulizzare la lista dei valori
disponibili, aprite adovbs.inc e cercate le costanti con prefisso adSchema. VISUALIZZARE LA LISTA DELLE TABELLE CONTENUTE IN UN DATABASE
Se come TipoQuery utilizziamo adSchemaTables (che corrisponde a 20), il metodo OpenSchema restituisce un Recordset contenente i seguenti campi:
Nel caso si utilizzi un database Access, TABLE_CATALOG fornisce la posizione fisica del file .mdb.
TABLE_NAME restituisce il nome della tabella e TABLE_TYPE il tipo di tabella. I principali valori
possibili per TABLE_TYPE sono: SISTEM TABLE, TABLE, VIEW.
<%
Dim cn, rs, adSchemaTables Set cn = Server.CreateObject("ADODB.Connection") cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("database.mdb") adSchemaTables = 20 Set rs = cn.OpenSchema(adSchemaTables) do while not rs.eof if Trim(rs("TABLE_TYPE")) = "TABLE" then Response.Write rs("TABLE_NAME") & "<br>" end if rs.MoveNext loop rs.Close Set rs = Nothing cn.Close Set cn = Nothing %> VISUALIZZARE LA LISTA DEI CAMPI CHE COSTITUISCONO UNA TABELLA Se utilizziamo OpenSchema con la costante adSchemaColumns (che corrisponde a 4), il recordset che otteniamo fornisce i dettagli dei campi di tutte le tabelle; esso è costituito dai seguenti campi:
Il campo COLUMN_NAME di tutti i records che hanno uno stesso valore di TABLE_NAME fornisce
la lista dei campi di quella determinata tabella.
<%
Dim cn, rs, adSchemaColumns Set cn = Server.CreateObject("ADODB.Connection") cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("database.mdb") adSchemaColumns = 4 Set rs = cn.OpenSchema(adSchemaColumns) do while not rs.eof if Trim(rs("TABLE_NAME")) = "NomeTabella" then Response.Write rs("COLUMN_NAME") & "<br>" end if rs.MoveNext loop rs.Close Set rs = Nothing cn.Close Set cn = Nothing %> Questo articolo è semplicemente una introduzione al metodo OpenSchema dell'oggetto Connection; ora potete sbizzarrirvi nell'esplorare da voi stessi le altre caratteristiche di cui dispone questo metodo.
|
||||||||||||||||||||||||