Назад
Создание прибыльного бизнеспроекта на базе сайта

SEO + ASP.NET 4.0 + БИЗНЕСМОДЕЛЬ = ПРИБЫЛЬНЫЙ САЙТ

Инструмент быстрого построения прибыльного онлайн бизнеса своими силами без капиталовложений за 4 месяца все подробности на SEO + ASP.NET 4.0.

Подписка на рассылку

МАГИЯ C#!

Создание вебсайта с формой автоматического приема онлайн платежей по WebMoney!
Ваше имя
Ваш e-mail
Уроки по ASP.NET c# ADO.NET
     

18 видеоуроков
более 5 часов
по созданию сайта,
выполняющего
продажи ваших продуктов (физических/электронных) на полном автомате с личным оповещением на e-mail, а также ...
DVD-курс по C#, .NET

3 часть. Введение в ASP.NET. WebServices Профессиональная подготовка разработчика по языку C# на платформе .NET

asp.net webservices dvd c# gridview Гудок курс Более 65 подробных видео уроков по теоретическим основам технологии сайтостроения ASP.NET и процессу создания и использованию вебсервисов.

DVD-курс по C#, .NET

2А часть. XML/TXT в аспекте ADO.NET Профессиональная подготовка разработчика по языку C# на платформе .NET

xml txt dvd c# ADO ADO.NET Гудок курс 70 подробных видео уроков по работе с форматами xml, txt, по работе с файлами и директориями. Разработка высокоорганизованных свойств для значительного сокращения объема исходного кода и облегчения дальнейшей модификации и многое-многое другое...

DVD-курс по C#, .NET

1 часть. Windows Forms Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок

185 подробнейших уроков (70 часов) лекций в формате видеоуроков по теории языка c# и платформы .NET. Практическое закрепление теоретического материала на примере создания Windows Forms - приложения видеоигры "Tanks"

DVD-курс по C#, .NET

2 часть. ADO.NET/SQL Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок ADO.NET sql

165 подробных видео уроков по созданию приложений распределенных баз данных на примере разработки проектов с использований технологий ADO.NET (Connected model, Disconnected model, Typed DataSet, ...)


Я записываю курсы!
  Курс валют

НБУ курс евро






Использование представлений (View) в ADO.NET - C#



     В кратком єкспресс курсе: Экспресс курс по языку интегрированных запросов SQL, в уроках 40-44 я объяснил что такое представление (View), как их создавать и как использовать. Сегодня, мы используем наше представление, в приложение Windows Forms с использованием языка программирования C#. Напомню, что представление (View) – это виртуальная таблица, которая формируется на основе запроса Select. Рас это таблица, хоть и виртуальная, мы можем к ней писать запрос, как и к простой таблице. Просто надо понимать, что сначала создастся представление, а потом будет выполнятся наш запрос который направлен к представлению.

     Перетягиваем на форму одну кнопку и датагрид. Создаем класс Teacher:

class Teacher
{
    public string Name { get; private set; }
    public string SubjectName { get; private set; }

    public Teacher(string name, string subject_name)
    {
        Name = name;
        SubjectName = subject_name;
    }
}

     Теперь в обработчике нажатия по кнопке пишем следующий код:

private void button1_Click(object sender, EventArgs e)
{
        // строка соединения с бд
        string connectionString = 
       	  @"Data Source=Max-PC; 
             	Initial Catalog=Test; 
             	Integrated Security=true;";
	
	// запрос
      	string query =
       	  @"Select 'Преподователь ', [Name],
             	'ведет предмет ' , [SubjectName] 
             	from TeacherView";

	// объект соединения с бд
      	SqlConnection con = 
       	  new SqlConnection(connectionString);

	// создаем комманду 
       SqlCommand cmd = 
       	new SqlCommand(query, con);

      	try
       {
       	con.Open();
             	using (SqlDataReader dr = cmd.ExecuteReader())
             	{                   
              	List<Teacher> list = new List<Teacher>();
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            list.Add(new Teacher(
                                    dr[0].ToString() + 
                                    dr[1].ToString(),
                                    
                                    dr[2].ToString() + 
                                    dr[3].ToString()
                                    )
                                );
                        }
                    }

                    if (list.Count > 0)
                    {
                        dataGridView1.DataSource = list;
                    }
                }
            }
            catch
            {
                MessageBox.Show("Не удалось подключится к бд.");
            }

            finally
            {
                con.Dispose();
            }
}

     После или перед конструктором формы, одним словом на уровне класса формы создадим свойство:

        List<teacher> TeacherList { get; set; }

      которое будет возвращать и принимать коллекцию объектов Teacher.

     Вот результат роботы приложения:

     Единственное, что я еще скажу, это про фрагмент кода:

while (dr.Read())
{
    list.Add(new Teacher(
       	dr[0].ToString() + 
        dr[1].ToString(),
                                    
        dr[2].ToString() + 
        dr[3].ToString()
             )
       );
}

     На самом деле, в сформированном представление, есть только два столбца, но, объект SqlDataReader получает 4. Почему так??? А 4 столбца он имеет, потому что в запрос был включен текст, где 'преподователь', [Name], 'ведет предмет', 'SubjectName' – это отдельные столбцы.



Больше информации читайте по теме:

Пишем код не думая о поставщике данных - ADO.NET
Изменение цвета текста ячейки DataGridView на c#
Программное добавление ячеек и строк в DataGridView на c# (cell, column, row)
c# - DateTime в RowFilter для DataTable и DataView
Служебные (специальные) символы в запросе фильтрации для DataTable, DataView на c#
Select метод для поиска строк (записей) по связанным таблицам. Или применение функций Parent, Child, GetParentRow, GetParentRows, GetChildeRow, GetChildeRows и внешних связей между таблицами
DataView - фильтр по DataTable на с#
Закрашивание ячейки строки в DataGridView на c#
c# - Поиск ячеек/строк по DataGridView
Вывод в названия колонок DataGridView сторонние значения (не из свойства ColumnName) с помощью c#
Объект CurrencyManager – получение текущей (активной) строки в DataGridView на C#
Автоматическое слежение активной ячейки в DataGridView за перемещением курсора мыши на c#
Получение текущей ячейки в DataGridView при вызове контекстного меню на c#
Значения по умолчанию новой строки DataGridView
Привязка (заполнение) элементов ListBox объектом SqlDataReader
Чтение (выборка) из БД Sql-Server двоичных данных (графического изображения)
Запись (занесение) изображения в БД SQL Server
Добавление и редактирование данных в типизированные DataTable
Импорт csv-данных в DataSet
Импорт sql-данных в формат .csv



Оценить статью:

Оценивая статью, Вы подсказываете нам насколько данная информация стала полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала для понимания и простоты его изложения. Дополнительные комментари, вопросы, дополнения и замечания Вы можете указать на странице От Вас

Частичное, или полное копирование материала данной статьи возможно лишь при размещении ссылки на данную страницу.


            
        


        Саша Гудок    05.05.2011 22:58:36
        

Отличнейшая статья. Прочитав её один раз все понял (представил при этом, что информация для меня новая). Супер! Спасибо.

94.248.56.125


        МАКСИМ МУРАТОВ    05.05.2011 23:04:56
        

огромное спасибо тебе Саша!

194.44.123.249




Имя:  


Текст комментариев (не больше 600 знаков):  
введите не более 600 знаков



Введите символы с картинки:
Капча имеет "срок годности". Поэтому, если необходимо обновите страницу.



Сантехник срочно
c# курс Гудок   курс по ASP.NET Гудок   курс по ADO.NET Гудок   курс по XML txt Гудок   курс по рефлексии и многопоточности Гудок