Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Чтение данных из БД в сетку данных datagridview с использованием объектов классов Command, Adapter и datasetСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Рассмотрим пример чтения таблицы с помощью объекта Adapter из базы данных посредством выбора нужных данных и передачи их объекту DataSet. Очень удобно прочитать таблицу, записанную в DataSet, используя элемент управления DataGridView (сетка данных, то есть таблица данных), указав в качестве источника данных для сетки DataGridView объект класса DataSet. Поскольку нам нужен элемент управления DataGridView, мы создаем новый проект с экранной формой. Для этого, как обычно, запустим Visual Studio 2010 и в окне New Project выберем в среде CLR узла Visual C++ приложение шаблона Windows Forms Application Visual C++. Из панели Toolbox добавляем в форму элемент управления DataGridView и растягиваем его на всю форму, как показано на рис. 12.
Далее пишем программный код, представленный в листинге 7. Листинг 7. Чтение данных из БД в сетку данных DataGridView //............... // Программный код, расположенный выше, создан средой Visual Studio // автоматически, поэтому автором не приводится this->ResumeLayout(false); } #pragma endregion // Программа читает из БД таблицу в сетку данных DataGridView // с использованием объектов класса Command, Adapter и DataSet private: System:: Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { this->Text = "Чтение таблицы из БД:"; auto Подключение = gcnew OleDb::OleDbConnection( "Data Source=\"C:\\vic.mdb\";User " + "ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";"); Подключение->Open(); auto Команда = gcnew OleDb::OleDbCommand( "Select * From [БД телефонов]", Подключение); // Выбираем из таблицы только те записи, поле ФИО которых // начинается на букву "М": // auto Команда = // gcnew OleDb::OleDbCommand("SELECT * FRO" + // "M [БД телефонов] WHERE (фио LIKE ‘м%’)", Подключение); // Создаем объект класса Adapter и выполняем SQL-запрос auto Адаптер = gcnew OleDb::OleDbDataAdapter(Команда); // Создаем объект класса DataSet auto НаборДанных = gcnew DataSet(); // Заполняем DataSet результатом SQL-запроса Адаптер->Fill(НаборДанных, "БД телефонов"); // Содержимое DataSet в виде строки XML для отладки: auto СтрокаXML = НаборДанных->GetXml(); // Указываем источник данных для сетки данных: dataGridView1->DataSource = НаборДанных; // Указываем имя таблицы в наборе данных: dataGridView1->DataMember = "БД телефонов"; Подключение->Close(); } }; }
Как видно из текста программы, вначале мы создали объект класса Connection, передавая строку подключения. Затем, создавая объект класса Command, задаем SQL-команду выбора всех записей из таблицы БД телефонов. Здесь мы можем задать любую SQL-команду. В комментарии приведен пример такой команды, которая содержит SELECT и LIKE, в которой предлагается выбрать из таблицы БД телефонов только записи, в которых поле ФИО начинается на «м». Оператор LIKE используется для поиска по шаблону (pattern matching) вместе с символами универсальной подстановки (метасимволами) «звездочка» (*) и «знак вопроса» (?). Строка шаблона заключена в апострофы. Заметим также, что большинство баз данных использует символ % вместо значка * в LIKE-выражениях. Далее при создании объекта класса Adapter выполняем SQL-команду и при выполнении метода Fill заполняем объект класса DataSet таблицей, полученной в результате SQL-запроса. Затем указываем в качестве источника данных для сетки данных dataGridView1 объект класса DataSet. Этого оказывается достаточным для вывода на экран результатов SQL-запроса (рис. 13). Так же как и при использовании объекта класса DataReader в предыдущем примере, в полученной таблице мы можем сортировать записи по любой из колонок. Можем редактировать (изменять) содержимое ячеек, но в базу данных эти изменения не попадут (сохранения не произойдет). Рис. 13. Вывод результата SQL-запроса Заметим, что здесь с помощью визуального проектирования выполнено только перетаскивание в форму сетки данных DataGridView, остальное сделано программно, что обеспечивает большую гибкость программы. Убедиться в работоспособности программы можно, открыв решение БдАдаптер- GridView.sln в папке БдАдаптерGridView.
|
|||||
Последнее изменение этой страницы: 2016-12-11; просмотров: 704; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.172.250 (0.008 с.) |