Le stored queries di Access

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" /<

Immagine

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

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC