Il .NET Framework ci mette a disposizione una classe per ottenere informazioni utili dai nostri database come la lista delle tabella in esse contenute o un elenco dei campi in una tabella più altre importanti informazioni, attraverso la classe OleDbSchemaGuid, utilizzata per l'accesso ad Access. Nel caso volessimo utilizzare SQL Server, potremo cambiare la stringa di connessione, inserendone una Ole-db che faccia uso di SQL Server stesso.
Vediamo subito un esempio per ottenere la lista delle tabella in un nostro database Access:
<%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server" Language="C#"> void Page_Load( object sender, EventArgs e ) { OleDbConnection con = new OleDbConnection(@"PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=g:\source\stored.mdb"); con.Open(); DataTable dt ; dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null,null,null,"TABLE"}); ElencoTabelle.DataSource = dt; ElencoTabelle.DataBind(); con.Close(); } </script> <asp:DataGrid id="ElencoTabelle" runat="server" /> Nella lunga tabella che otterremo, abbiamo a disposizione moltissimi dati che ci possono essere utili, come "COLUMN_NAME" che contiene il nome di ogni campo, il "DATA_TYPE" che è un valore numerico che indica il tipo di dato contenuto. Se volessimo ottenere informazioni sui campi in una tabella, potremmo utilizzare invece questo script: <%@ import Namespace="System.IO" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server" Language="C#"> void Page_Load( object sender, EventArgs e ) { OleDbConnection con = new OleDbConnection(@"PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=g:\source\stored.mdb"); con.Open(); DataTable dt ; dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[]{null,null,"Tabella1",null} ); // al posto di Tabella1 inserire il nome della tabella desiderata Elenco.DataSource = dt; Elenco.DataBind(); con.Close(); } </script> <asp:DataGrid id="Elenco" runat="server" />
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire le impostazioni di cache a livello di controller in ASP.NET Core 7
Usare gateway dedicati con Azure Cosmos DB per migliorare le prestazioni
Taggare la output cache in base al routing in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Utilizzare parametri a livello di controller nel routing di ASP.NET Core
Definire la durata dell'output cache in ASP.NET Core 7
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Gestire la query string nell'output cache di ASP.NET Core
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Sfruttare l'output cache di ASP.NET Core 7 con i controller