asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 5656
ASPCode.it - Store

  > > Tips

Rilevare i nomi delle tabelle di un DB Access
di Paolo Capitani

Data di pubblicazione: 16/12/2002        Voto della community: 4,00 (Votanti: 3)

Il seguente script permette di mostrare sullo schermo l'elenco dei nomi delle tabelle presenti in un database Access. La funzione "chiave" dello script è il metodo OpenSchema dell'oggetto ADODB Connection, a cui passeremo la costante ADO adSchemaTables indicando che vogliamo che venga restituito un recordset contenente informazioni relative alle tabelle presenti nel database a cui siamo correntemente connessi.
In questo caso sfrutteremo solo due attributi del recordset risultante, rispettivamente:
- TABLE_TYPE
- TABLE_NAME
Il primo ci consentirà di selezionare le sole tabelle "comuni", ovvero quelle create, utilizzate e gestite direttamente dall'utente tramite Access o ASP, escludendo perciò tabelle di sistema o similari.
Il secondo restituirà il nome della tabella relativo al record corrente del recordset che andremo a scorrere in tutto il suo contenuto.
Ecco il codice:

<%
Function GetTables(dbPath)
  Dim cn, rs
  Set cn = Server.CreateObject("ADODB.Connection")
  cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&dbPath
  cn.Open()

  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
  rs.Close
  Set rs = Nothing
  cn.Close
  Set cn = Nothing
End Function

Dim dbPath
dbPath = Server.MapPath("prova.mdb")
GetTables(dbPath)
%>

Ovviamente, nell'esempio di chiamata della funzione appena creata, "prova.mdb" va sostituito con il nome del database che stiamo consultando.




Utenti connessi: 5656