ASP.NET Web Pages Databases

This chapter is about working with databases

What We Will Do

In this chapter we will:

  • Create a web page to list data from a database
  • Displaying Data from Database

    With Web Pages, you can easily display data from a database.

    You can connect to an existing database, or create a new database from scratch.

    In this example we will connect to an existing SQL Server Compact database.

    Adding a Customers Page

    In the "DemoWebPages" folder, create a new CSHTML file named "Products.cshtml".

    Replace the code in the file with the code from the example below:

    Products.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>

    Example Explained

    The Database.Open(name) method will connect to a database in two steps:

    First, it searches the application's App_Data folder for a database that matches the name parameter without the file-name extension.

    If no file is found, it looks for a "connection string" in the application's Web.config file.

    (A connection string contains information about how to connect to a database. It can include a file path, or the name of an SQL database, with full user name and password)

    This two-step search makes it possible to test the application with a local database, and run the application on a web host using a connection string.

    ASP.NET Database Object Reference

    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.