Опубликован: 15.06.2011 | Доступ: свободный | Студентов: 708 / 59 | Оценка: 4.25 / 4.00 | Длительность: 14:09:00
Самостоятельная работа 4:

Web Matrix. Работа с данным

В результате откроется панель для работы с данными:

2.Добавим в таблицу следующие записи:

Таблица 9.1.
name description price
Bread Baked fresh every day. 2,99
Strawberry Shortcake Made with organic strawberries from our garden. 9,99
Apple Pie Second only to your mom's pie. 12,99
Pecan Pie If you like pecans, this is for you. 10,99
Lemon Pie Made with the best lemons in the world. 11,99
Cupcakes Your kids and the kid in you will love these. 7,99

И помните, колонка "id" будет заполняться автоматически, из-за свойства "Идентификатор" - true.

3.После ввода данных, дизайнер таблиц будет выглядеть так:


Рис. 9.14.

Отображение данных из базы данных

1.На левой панели перейдем, в рабочее пространство ( workspace ) "Файлы", и создадим новый файл:

2.В появившемся списке выберем - CSHTML и назовем его ListProducts.cshtml:

3.Заменим исходный код страницы ListProducts.cshtml на:

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

<!DOCTYPE html>
<html>
 <head>
   <title>Small Bakery Products</title>
   <style>
       table, th, td {
         border: solid 1px #bbbbbb;
         border-collapse: collapse;
         padding: 2px;
       }
    </style>
 </head>
 <body>
   <h1>Small Bakery Products</h1>
   <table>
       <thead>
           <tr>
               <th>Id</th>
               <th>Product</th>
               <th>Description</th>
               <th>Price</th>
           </tr>
       </thead>
       <tbody>
           @foreach(var row in db.Query(selectQueryString))
    {
            <tr>
               <td>@row.id</td>
                   <td>@row.name</td>
                   <td>@row.description</td>
                   <td>@row.price</td>
            </tr>
           }
       </tbody>
   </table>
 </body>
</html>

Рассмотрим подробнее два фрагмента кода.

Первый фрагмент:

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

В первой строчке этого фрагмента кода, с помощью метода Database.Open - открывается база данных SmallBakery.sdf, которая была создана ранее.

Во второй строчке создается переменная с SQL запросом к базе. В нашем случае, запрос будет осуществлять выборку всех записей из таблицы Product и сортировать их по имени продукта.

Второй фрагмент:

<tbody>
           @foreach(var row in db.Query(selectQueryString))
    {
            <tr>
                   <td>@row.id</td>
                   <td>@row.name</td>
                   <td>@row.description</td>
                   <td>@row.price</td>
            </tr>
           }
       </tbody>

В этом фрагменте кода, динамически формируется таблица с результатами SQL запроса.

4.Запустим приложение, после чего откроется окно браузера: