Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Удаление записей из таблицы базы данных с использованием sql-запроса и объекта класса Command

Поиск

Можно также удалять записи (строки из таблицы БД), формируя в программном коде соответствующий SQL-запрос, передаваемый в объект класса Command. Имен­но объект Command обеспечивает привязку SQL-выражения к соединению с базой данных. Напишем самый простой пример такой программы.

В данном случае экранная форма нам не нужна, поэтому выберем, как и в не­которых предыдущих примерах, шаблон консольного приложения. Запустим Visual Studio 2010 и в окне New Project выберем в среде CLR узла Visual C+ + приложение шаблона Console Application CLR. Чтобы иметь доступ к функции MessageBox::Show, добавим к проекту ссылку на динамическую библиотеку Forms.dll. Для этого выберем пункты меню Project ► Properties ► Add Reference и на вкладке.NET дважды щелкнем по ссылке на библиотеку System.Windows.Forms.dll. Отметим, что при этом в окне Referenses среди ссылок References появится соответствующая этой библиотеке ссылка.

Далее напишем программный код из листинга 9.

Листинг 9. Удаление записей из таблицы БД

// БдУдаленЗаписи.cpp: главный файл проекта.

// Программа удаляет запись из таблицы БД с использованием SQL-запроса

// и объекта класса Command

#include "stdafx.h"

using namespace System;

// Для вызова MessageBox добавим в наш проект пункты меню:

// Project⴬Add Reference и на вкладке.NET дважды щелкнем по ссылке

// System.Windows.Forms.dll, а в тексте программы добавим директиву:

using namespace System::Windows::Forms;

int main(array<System::String ^> ^args)

{

// Создаем объект Connection и передаем ему строку подключения

auto Подключение = gcnew Data::OleDb::

OleDbConnection(// Строка подключения:

"Data Source=\"C:\\vic.mdb\";User " +

"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");

Подключение->Open();

// Создаем объект класса Command, передавая ему SQL-команду

auto Команда = gcnew Data::OleDb::OleDbCommand(

"Delete * From [БД телефонов] Where " +

"ФИО Like ‘Vi%’", Подключение);

// Выполнение команды SQL

int i = Команда->ExecuteNonQuery();

// i - количество удаленных записей

if (i > 0) MessageBox::Show(

"Записи, содержащие в поле ФИО фрагмент 'Vi*', удалены");

if (i == 0) MessageBox::Show(

"Запись, содержащая в поле ФИО фрагмент 'Vi*', не найдена");

Подключение->Close();

return 0;

}

 

Здесь при создании объекта класса Command задан SQL-запрос на удаление (Delete) всех записей, содержащий в поле ФИО фрагмент текста Vi*, причем строч­ные и прописные буквы являются равнозначными, то есть будут удалены записи, содержащие Vi*, vi*, VI* и прочие комбинации. Таким образом, поиск записей ве­дется без учета регистра (case-insensitive search).

Замечу, что здесь для выполнения команды SQL использован метод ExecuteNonQuery. Он возвращает в переменную i количество удаленных записей. Если i = 0, значит, записей с таким контекстом не найдено, и ни одна запись не удалена.

Убедиться в работоспособности программы можно, открыв решение БдУдаленЗаписи.sln в папке БдУдаленЗаписи.

 


Лабораторная работа № 25. Работа с базой данных

Цель работы:

Овладеть навыками разработки приложений обработки баз данных

Порядок выполнения работы

 

1. Выбрать вариант задания в соответствии с номером в журнале группы.

2. Создать структуры таблиц, ключевые поля. Заполнить таблицы данными. Количество данных в таблицах должно обеспечивать выдачу не менее 3-5 записей по каждому запросу задания. Установить связи между таблицами.

3. Создать формы для ввода информации в удобном для пользователя формате.

4. Создать запросы на выборку в соответствии с заданием. Создать параметрический запрос. Создать запросы на обновление и удаление. Создать перекрестный запрос. Создать запрос для создания отчета.

5. Создать простой отчет и отчет на основе ранее созданного запроса.

6. Создать кнопочную форму для работы со всеми созданными ранее объектами базы данных (таблицы, формы, запросы, отчеты). Предусмотреть в форме выход из базы данных.

 

Методические указания

 

Разработанное приложение должно заносить информацию в таблицы созданной базы данных с помощью соответствующих форм, выполнять необходимые действия по модификации и удалению данных в таблицах созданной базы данных с помощью соответствующих форм, поддерживать целостность базы данных, используя соответствующие средства, выполнять запросы из варианта задания и сохранять полученные результаты в соответствующих отчетах.

Предметная область базы данных выбирается в соответствии с вариантом индивидуального задания по номеру в журнале. Для каждого варианта задания приводится минимальный набор характеристик базы данных. Необходимо самостоятельно добавить некоторые характеристики предметной области, позволяющие большим количеством сущностей более полно описать предметную область.

Отчет должен содержать следующее:

· Содержательное описание уточненной предметной области.

· Следующие распечатки:

· схема базы данных в форме Access;

· таблицы, структуры таблиц, формы, отчеты;

· запросы в режиме Конструктор и на SQL и их результаты;

· главная кнопочная форма.

 

 

Варианты заданий

Библиотека

Минимальный список характеристик:

  • Автор книги, название, год издания, цена, количество экземпляров, краткая аннотация;
  • номер читательского билета, ФИО, адрес и телефон читателя, дата выдачи книги читателю и дата сдачи книги читателем, отметка о выбытии.

Книга имеет много экземпляров и поэтому может быть выдана многим читателям.

Выборки:

  • Выбрать книгу, для которой наибольшее количество экземпляров находится "на полках" (не выданы читателям).
  • Выбрать читателей, которые имеют задолженность более 4 месяцев.
  • Определить книгу, которая была наиболее популярной весной 2000 года.
  • Определить читателей, у которых на руках находятся книги на общую сумму более 100 руб.

Университет

Минимальный список характеристик:

  • Номер, ФИО, адрес и должность преподавателя, ученая степень;
  • код, название, количество часов, тип контроля и раздел предмета (дисциплины);
  • код, название, номер заведующего кафедрой;
  • номер аудитории, где преподаватель читает свой предмет, дата, время, группа.

Один преподаватель может вести несколько дисциплин и одна дисциплина может вестись несколькими преподавателями.

Примечание: Циклы дисциплин: гуманитарный, общеинженерный, математический, компьютерный и т.д.

Выборки:

  • Выбрать преподавателя, который был "без работы" весной 2001г.
  • Определить возможные "накладки" аудиторий в расписании.
  • Вывести расписание занятий группы 'АП-17а' на март 2001г.
  • Определить для каждой группы долю дисциплин каждого цикла в процентах.

Оптовая база

Минимальный список характеристик:

  • Код товара, название товара, количество на складе, единица измерения, стоимость единицы товара, примечания - описание товара;
  • Номер, адрес, телефон и ФИО поставщика товара, срок поставки и количество товаров в поставке, номер счета.

Один и тот же товар может доставляться несколькими поставщиками и один и тот же поставщик может доставлять несколько видов товаров.

Выборки:

  • Выбрать поставщиков, которые поставляют все товары.
  • Определить поставщика, который поставляет товар 'коврик для мыши' по самой низкой в среднем цене.
  • Вывести названия товаров, цены на которые никогда не повышались.
  • Определить, на сколько единиц возросли поставки товара 'инструмент' в 2001г. по сравнению с предыдущим годом.

Производство

Минимальный список характеристик:

  • Код изделия, название изделия, является ли типовым, примечание - для каких целей предназначено, годовой объем выпуска;
  • код, название, адрес и телефон предприятий, выпускающих изделия;
  • название, тип, единица измерения материала, цена за единицу, отметка об использовании материала в данном изделии;
  • количество материала в спецификации изделия, дата установления спецификации, дата отмены;
  • год выпуска и объем выпуска данного изделия предприятием.

Одно изделие может содержать много типов материалов и один и тот же материал может входить в состав разных изделий.

 

Выборки:

  • Определить изделие, в которое входит больше всего материалов типа 'цветной металл'.
  • Вывести список изделий, которые не производились в 2000 г.
  • Вывести список изделий, для которых затраты на материалы в 2000 г. снизились по сравнению с предыдущим годом.
  • Вывести среднемесячный расход материала 'лапша' в 2000 г.

Сеть магазинов

Минимальный список характеристик:

  • Номер, ФИО, адрес, телефон владельца магазина, размер вклада в магазин, номер регистрации, дата регистрации;
  • номер, название, адрес и телефон магазина, уставной капитал, профиль;
  • номер, ФИО, адрес, телефон поставщика, а также стоимость поставки данного поставщика в данный магазин.

Один и тот же магазин может иметь несколько владельцев и один и тот же владелец может иметь в собственности много магазинов.

Примечание: профиль - продуктовый, галантерейный, канцелярский и т.п.

Выборки:

  • Определить самого молодого предпринимателя, владеющего собственностью в районе 'Киевский'.
  • Определить случаи, когда регистрировалось владение лицами, не достигшими 18 лет.
  • Определить случаи, когда больше 50% уставного капитала магазина внесено предпринимателем, проживающим в другом районе.
  • Вывести список профилей магазинов, которыми владеет предприниматель 'Кузнецов' в порядке убывания вложенного в них капитала

 

Авторемонтные мастерские

Минимальный список характеристик:

  • Номер водительских прав, ФИО, адрес и телефон владельца автомобиля;
  • номер, ФИО, адрес, телефон и квалификация (разряд) механика;
  • номер, марка, мощность, год выпуска и цвет автомобиля;
  • номер, название, адрес и телефон ремонтной мастерской;
  • стоимость наряда на ремонт, дата выдачи наряда, категория работ, плановая и реальная дата окончания ремонта.

Один и тот же автомобиль может обслуживаться разными автомеханиками и один и тот же автомеханик может обслуживать несколько автомобилей.

Выборки:

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

Деканат

Минимальный список характеристик:

  • Код группы, курс, количество студентов, общий объем часов;
  • ФИО преподавателя, вид контроля, дата;
  • Название дисциплины, категория, объем часов.

Одна группа изучает несколько дисциплин и одна дисциплина может преподаваться нескольким группам.

Категория дисциплины - гуманитарная, математическая, компьютерная, общеинженерная и т.д.
Вид контроля - зачет, экзамен.

Выборки:

  • Для каждой группы определить продолжительность сессии.
  • Определить преподавателя, который в сессию принимает экзамены (не зачеты) у наибольшего числа студентов.
  • Определить, какой процент от общего объема дисциплин, изучаемых группой 'АП-17а', составляют дисциплины каждой категории.
  • Определить, не сдает ли какая-либо группа два экзамена в один день.


Поделиться:


Последнее изменение этой страницы: 2016-12-11; просмотров: 705; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.76.183 (0.009 с.)