Pagine Web ASP.NET - Database


Questo capitolo tratta dell'utilizzo dei database.


Cosa faremo

In questo capitolo faremo:

  • Creare una pagina Web per elencare i dati da un database

Visualizzazione dei dati dal database

Con le pagine Web è possibile visualizzare facilmente i dati da un database.

È possibile connettersi a un database esistente o creare un nuovo database da zero.

In questo esempio ci connetteremo a un database SQL Server Compact esistente.


Aggiunta di una pagina clienti

Nella cartella "DemoWebPages", crea un nuovo file CSHTML denominato "Products.cshtml".

Sostituisci il codice nel file con il codice dell'esempio seguente:

Prodotti.cshtml

@{
var db = Database.Open("SmallBakery"); 
var selectQueryString = "SELECT * FROM Product ORDER BY Name"; 
}

<html> 
<body> 
<h1>Small Bakery Products</h1> 
<table> 
<tr>
<th>Id</th> 
<th>Product</th> 
<th>Description</th> 
<th>Price</th> 
</tr>
@foreach(var row in db.Query(selectQueryString))
{

<tr> 
<td>@row.Id</td> 
<td>@row.Name</td> 
<td>@row.Description</td> 
<td align="right">@row.Price</td> 
</tr> 
}
</table> 
</body> 
</html>

Esempio spiegato

Il metodo Database.Open( name ) si connetterà a un database in due passaggi:

Innanzitutto, ricerca nella cartella App_Data dell'applicazione un database che corrisponda al parametro name senza l'estensione del nome file.

Se non viene trovato alcun file, cerca una "stringa di connessione" nel file Web.config dell'applicazione.

(Una stringa di connessione contiene informazioni su come connettersi a un database. Può includere un percorso di file o il nome di un database SQL, con nome utente e password completi)

Questa ricerca in due passaggi consente di testare l'applicazione con un database locale ed eseguire l'applicazione su un host Web utilizzando una stringa di connessione.



Riferimento agli oggetti di database ASP.NET

Method Description
Database.Execute(SQLstatement [, parameters])Executes SQLstatement (with optional parameters) such as INSERT, DELETE, or UPDATE and returns a count of affected records.
Database.GetLastInsertId() Returns the identity column from the most recently inserted row.
Database.Open(filename)
Database.Open(connectionStringName)
Opens either the specified database file or the database specified using a named connection string from the Web.config file.
Database.OpenConnectionString(connectionString) Opens a database using the connection string. (This contrasts with Database.Open, which uses a connection string name.)
Database.Query(SQLstatement[, parameters])Queries the database using SQLstatement (optionally passing parameters) and returns the results as a collection.
Database.QuerySingle(SQLstatement [, parameters])Executes SQLstatement (with optional parameters) and returns a single record.
Database.QueryValue(SQLstatement [, parameters])Executes SQLstatement (with optional parameters) and returns a single value.