Gestione di database in ASP.NET ASP.NET Classi per la gestione dei database: OledbConnection (connessione al database) OleDbCommand (comando SQL) OleDBDataReader (tabella derivata) NB: Per usare queste classi, occorre importare il Namespaces System.Data.OleDb (vedi nell’esempio a pagina 2) Oggetto di classe: OleDBConnection Proprietà: ConnectionString Metodi: Open, Close Esempio di utilizzo Dim Connessione as New OleDbConnection = “Provider=MicroSoft.Jet.OleDB.4.0; Data source=c:\calcio.mdb" Connessione.open Oggetti di classe: OleDBCommand Proprietà: CommandText, Connection Metodi: ExecuteReader, ExecuteNonQuery Esempio di utilizzo 1: Uso della classe OleDbCommand per generare tabelle derivate (TabDer) Dim Query as new OleDBCommand Query.CommandText="Select Nome From Calciatore" Query.Connection=Connessione TabDer = Query.ExecuteReader() NB: Il risultato della query viene memorizzato in TabDer Esempio di utilizzo 2: Uso della classe OleDbCommand con coamadi con non producono tabelle derivate (es: INSERT, UPDATE ecc) Dim Query as new OleDBCommand Query.CommandText="Insert Into Calciatori(Nome, Squadra) Values(‘Cassano’, ‘Sampdoria’" Query.ExecuteNonQuery() Oggetti di classe: OleDBDataReader Metodi: Read, Close Esempio di utilizzo Dim RS as OleDbDataReader TabDer = Query.ExecuteReader() TabDer.Read() legge una riga dal datareader.Restituisce False se il datareader supera l'ultimo record. 1 di 3 Gestione di database in ASP.NET Una semplice applicazione Imports System.Data.OleDb Partial Class _Default Inherits System.Web.UI.Page Dim ConnessioneRicette As New OleDbConnection Dim ComandoSQL As New OleDbCommand Dim TabDer As OleDbDataReader Protected Sub BtnCerca_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnCerca.Click ConnessioneRicette.ConnectionString = "Provider=MicroSoft.Jet.OleDB.4.0; Data Source=" & Server.MapPath("App_Data/DBRicette.mdb") ConnessioneRicette.Open() ComandoSQL.CommandText = "Select * From Ricette where Ingredienti like '%" & TxtIngrediente.Text & "%'" ComandoSQL.Connection = ConnessioneRicette TabDer = ComandoSQL.ExecuteReader While TabDer.Read = True Stampa = Stampa & "<li>" & TabDer("Titolo_Ric") & "</li>" End While LblRisultato.Text = "<ol>" & Stampa & "</ol>" ConnessioneRicette.Close() End Sub End Class 2 di 3 Gestione di database in ASP.NET Esercizio: Dato il DB in figura, scrivere una pagina ASP.NET che consenta di mostrare i risultati seguenti - elenco delle ricette appartenenti ad un certo TIPO (esempio: Primi Piatti, Contorni ecc) - elenco delle ricette appartenenti ad un certo TIPO (esempio: Primi Piatti, Contorni ecc), mostrando nell’elenco i seguenti elementi: ID_Ric, Titolo_Ric. Il primo di questi elementi deve essere rosso. - Dato il codice di una ricetta, mostrare tutte le informazioni relative alla ricetta indicata (Ingredienti, preparazione, ecc) - Contare il numero di ricette, distinte per Tipo - Contare le ricette distinguendole rispetto al tempo di preparazione 3 di 3