3 pagine in totale: <<Indietro 1 2 [3]
Alla ricerca delle stored queries
Siccome sono bravo a crearmi i problemi quando non ce ne sono, mi sono posto il problema di come si potesse visionare via codice le stored queries. ADO.NET risolve abbastanza facilmente la cosa: è sufficiente utilizzare la classe "GetOleDbSchemaTable" che restituisce una DataTable contenente le informazioni richieste. Per ottenere la lista delle nostre SQ dovremo visionare esattamente l'OleDbSchemaGuid.Views e l'OleDbSchemaGuid.Procedures. Questo perché le SQ senza parametri vengono memorizzate come semplici query, mentre quelle con i parametri come procedures. Ma ecco il codice per visualizzare la lista delle SQ con il relativo codice:
<%@ Page Language="C#" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
void Page_Load( object sender, EventArgs e ) {
DataTable tabella = new DataTable("newtable");
tabella.Columns.Add("nome",System.Type.GetType("System.String"));
tabella.Columns.Add("codice",System.Type.GetType("System.String"));
DataRow objdatarow;
OleDbConnection con = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source="
+ Request.MapPath("rubrica.mdb"));
con.Open();
DataTable dt ;
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Views,null);
for (int i=0;i<dt.Rows.Count;i++) {
objdatarow=tabella.NewRow();
objdatarow["nome"]=dt.Rows[i][2].ToString() ;
objdatarow["codice"]=dt.Rows[i][3].ToString() ;
tabella.Rows.Add(objdatarow);
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures,null);
for (int i=0;i<dt.Rows.Count;i++) {
objdatarow=tabella.NewRow();
objdatarow["nome"]=dt.Rows[i][2].ToString() ;
objdatarow["codice"]=dt.Rows[i][4].ToString() ;
tabella.Rows.Add(objdatarow);
}
DGStoredProcedure.DataSource = tabella;
DGStoredProcedure.DataBind();
con.Close();
}
</script>
<asp:datagrid id="DGStoredProcedure" runat="server" /<
Conclusioni
Per approfondire l'argomento consiglio, come all'inizio di questo articolo, la lettura di questo articolo .
La domanda che dobbiamo porci, ora, è se utilizzare o meno le stored queries nelle nostre applicazioni che fanno uso di Access. Vedendo gli ottimi vantaggi che si ottengono, anche del 36% in alcuni casi, io lo consiglio per tutte quelle pagine che utilizzano pesantemente il database per ricerche, e consiglio ancora più caldamente di effettuare dei test comparativi per constatare il reale vantaggio nei propri lavori.
3 pagine in totale: <<Indietro 1 2 [3]
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà
Utilità
Stampa
Download


