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
I più letti di oggi
- Effettuare il binding di contenuti HTML con AngularJS
- Monitorare i cambiamenti di una proprietà dello scope di AngularJS
- Utilizzare le template variable di Angular per mostrare un messaggio di errore
- Ottimizzare il codice JavaScript con i Shorthand Patterns - seconda parte
- Utilizzare l'attributo HTML inert per disabilitare gli eventi in HTML5
- Combinare Container Queries e Media Queries
- Visual Studio 2015 Preview Live - Online
- ReBuild 2020 Live - Online
- Disponibile il nuovo Feature Pack di Visual Studio 2010
- Mono 2.8 aggiunge .NET Framework 4, ASP.NET 4.0 e MVC 2