Информационная система офтальмологической клиники
Информационная система офтальмологической клиники
34
КУРСОВАЯ РАБОТА
ПО ДИСЦИПЛИНЕ: “БАЗЫ ДАННЫХ”
НА ТЕМУ: “ИНФОРМАЦИОННАЯ СИСТЕМА ОФТАЛЬМОЛОГИЧЕСКОЙ КЛИНИКИ”
СОДЕРЖАНИЕ
Введение
1. Постановка задачи. Сбор и анализ системных данных
2. Логическое проектирование базы данных
2.1 Глобальная логическая модель
2.2 Проверка сущностей на соответствие с НФБК
2.3 Определение требований поддержания целостности данных
3. Физическое проектирование базы данных
3.1 Обоснование выбора целевой СУБД
3.2 Проектирование таблиц базы данных в среде целевой СУБД. Представление sql-скриптов на создание БД.
3.3 Разработка триггеров
4. Проектирование пользовательского интерфейса
4.1 Проектирование и программирование диалоговых форм
4.2 Создание многоуровневого меню пользователя
5. Реализация проекта
5.1 Создание рабочей модели приложения базы данных
5.2 Тестирование системы
5.3 Сопровождение системы.
Заключение
Литература
Приложения
ВВЕДЕНИЕ
SQL символизирует собой Структурированный Язык Запросов. Это - язык, который дает возможность работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах.
Мир баз данных становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию независимо от того работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.
В нашем все более и более взаимосвязанном компьютерном мире, пользователь, снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.
Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL, и вероятно в течение обозримого будущего оставит его, основным стандартным языком.
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной организацией по стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны.
С понятием базы данных тесно связано понятие системы управления базой данных. Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.
В мире существует множество систем управления базами данных. Несмотря на то, что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД.
1. ПОСТАНОВКА ЗАДАЧИ. СБОР И АНАЛИЗ СИСТЕМНЫХ ДАННЫХ
Результатом разработки данного курсового проекта должна быть автоматизированная информационная система деятельности больницы. Задача курсовой работы - информационная поддержка управления сведениями о дополнительных исследованиях и управление назначениями и направлениями на исследования и манипуляции.
Данный курсовой проект должен рассматривать и учитывать различные возможности работы с данными, то есть необходимо обеспечить возможность дополнения, изменения и удаления данных, которые хранятся в таблицах базы данных. Но данные, записанные в таблицах, не дают наглядной картины работы больницы и в частности той области данных, которая будет разрабатываться в этом проекте.
Предназначенный для пользователя интерфейс должен быть наглядным и удобным в использовании. Он должен отображать не только работу с данными, но и позволять просматривать отчёты о работе больницы, то есть, по сути, статистические данные, чтобы по ним можно было бы оценить эффективность работы больницы. Также должен быть предусмотрен поиск необходимой информации, потому что данных в базе может быть достаточно много, и просмотр их для поиска может занять много времени. Основной целью создания информационной системы является систематизация данных, которые охватывают всю область функционирования больницы. Разработка системы позволит не только систематизировать работу, но и ускорит рабочий процесс, а это выгодно как для больницы, так и для пациентов.
База данных должна в рамках данного курсового проекта осуществлять возможность формирования назначения на специальное и дополнительное обследование.
2. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
2.1 Глобальная логическая модель
Глобальная логическая модель данного курсового проекта (Рис. 1).
Рис. 1 Глобальная логическая модель
2.2 Проверка сущностей на соответствие с НФБК.
Основные сущности разрабатываемого проекта:
“Мед_Карта”
1 - ID_карты, 2 - ФИО_больного, 3 - Диагнозы, 4 - Дата_рождения, 5 - Дом_Адрес, 6 - Телефон, 7 - ID_лечащего_врача
“ Лечащий_Врач”
1 - ID_лечащего_врача, 2 - ФИО, 3 - Телефон, 4 - Специализация
“Мед_посещение”
1 - ID_посещения, 2 - ID_карты, 3 - Давление, 4 - Температура 5 - Дата_посещения
“Спец_обследование”
1 - ID_спец_обследования, 2 - ID_посещения, 3 - Мутации,
4 -Рентген_инородное_тело, 5 - С_реактивный_белок, 6 -Тимоловая,
7 - Сиаловая, 8 -СОЭ, 9 - Фибриноген, 10 - Ревматический_фактор,
11 - Рентген_феномен, 12 - Ретинальная_острота_зрения,
13 - Пахиметрия_толщина_роговицы_в_мм,
14 -Компьютерная_кератотопография, 15 - Кольца_Плацидо,
16 - Гониоскопия_угол_п_камеры, 17 - Склеральная_шпора,
18 -Трабекулярная_зона, 19 -Мембрана_Бруха,
20 -Протяжённость_прикрытия_фильтрационной_зоны,
21 - Корень_радужки, 22 - Проба_Ширмера_мм,
23 -Время_разрыва_слезной_плёнки, 24 - УЗ_сканирование,
25 - Посев_с_кон_вы_стафилококк, 26 -Соскоб_с_кон_вы_грибки,
27 - Соскоб_с_кон_вы_флора, 28 - Соскоб_с_кон_вы_лейкоциты,
29- Проба_Манту_мм
“Назначение”
1 - ID_назначения, 2 - ID_спец_обследования, 3 - Дата_Назначения
“СправочникОбследований”
1 - ID_справочника_С_О, 2 - ID_назначения, 3 - Название
“ПЦР”
1 - ID_ПЦР, 2 - Наименование
“Посев”
1 - ID_Посева, 2 - Наименование
“Мед_Карта”
1 --> 2,3,4,5,6,7
“ Лечащий_Врач”
1 --> 2,3,4
“Мед_посещение”
1 --> 2,3,4,5
“Спец_обследование”
1 --> 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29
“Назначение”
1 --> 2,3
“СправочникОбследований”
1 --> 2,3
“ПЦР”
1 --> 2
“Посев”
1 --> 2
Основные связанные сущности проекта:
“Мед_Карта” --> “Мед_посещение” ;
“Мед_посещение” --> “Спец_обследование”;
“Спец_обследование” --> “Назначение”, “ПЦР”, “Посев”;
“Мед_Карта” --> “ Лечащий_Врач”.
Все сущности находятся в нормальной форме Бойса-Кодда (НФБК). Отношение находится в НФБК(BCNF) тогда и только тогда, когда каждая его нетривиальная и неприводимая слева функциональная зависимость имеет в качестве своего детерминанта некоторый первичный ключ. Менее формально, переменная отношения находится в НФБК тогда и только тогда, когда детерминанты всех её функциональных зависимостей являются первичными ключами.
2.3 Определение требований поддержания целостности данных
Ограничения целостности можно определить как специальные средства в базах данных, главное назначение которых - не дать попасть в базу недопустимым данным (например, предупредить ошибки пользователей при вводе данных).
а Требования целостности на уровни сущности
Главная задача здесь - сделать так, чтобы данные об одной сущности не попали в базу данных два раза. Обеспечивается ограничением уникальности и первичным ключом. Каждая таблица, которая есть в базе данных курсового проекта, содержит первичный ключ. Средства обеспечения сущностной целостности в данном проекте: это - первичные ключи (primary key) и ограничения уникальности (unique), а также все ключевые атрибуты не могут быть нулевыми (not null).
а Требования атрибутивной целостности
Средства обеспечения атрибутивной целостности отвечают за то, чтобы в соответствующем поле базы данных были допустимые значения. Например, фамилия, должна состоять из букв, а номер телефона - из цифр.
В базах данных такая целостность обеспечивается условиями на значение, запретом пустых значений, триггерами, а также ключами.
а Требование целостности по ссылкам
Обеспечивается системой внешних ключей (foreign key). Например, при помощи этих средств можно гарантировать, что у нас не будет записей в таблице МедПосещения, занесённых на пациентов, которых нет в базе данных.
Например, проведём детальный анализ полей таблицы “Мед_посещение”:
1 - ID_посещения, 2 - ID_карты, 3 - Давление, 4 - Температура 5 - Дата_посещения. Таблица содержит пять полей. На поле ID_посещения ставится ограничение первичного ключа primary key и так как это числовое поле, то тип определяем как int. Можем не определять поле как not null, так как ограничение первичного ключа уже подразумевает это определение. Следующее поле ID_карты int not null - это поле необходимо для создания ограничения внешнего ключа, а точнее для связи этой таблицы с таблицей “Мед_Карта”.
3. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
3.1 Обоснование выбора целевой СУБД
Основная цель при выборе СУБД - выбор системы, удовлетворяющей текущим и прогнозируемым требованиям организации при оптимальном уровне затрат. Затраты могут включать расходы на приобретение СУБД и дополнительного аппаратного и программного обеспечения, а также расходы, связанные с переходом к новой системе и необходимостью переобучения персонала. В общем виде процесс выбора СУБД включал следующие этапы:
1) определение списка показателей, по которым будут оцениваться СУБД;
2) определение списка сравниваемых СУБД;
3) оценка программного обеспечения по выбранным показателям;
4) принятие обоснованного решения;
После прохождения этих оценочных этапов было принято решение об использовании популярного языка запросов SQL. Так как табличная структура реляционной базы данных интуитивно понятна пользователям, то и язык SQL является простым и легким для изучения и использования. На волне популярности, вызванной успехом реляционной модели, SQL стал основным языком для реляционных баз данных. Преимуществом языка является, то что он хорошо интегрируем с объектно-ориентированным языком, таким как C#. Это является важным при реализации проекта, так как с помощью программных средств С# возможно сделать удобный для пользователя интерфейс и организовать приемлемую работу с данными.
3.2 Проектирование таблиц базы данных в среде целевой субд. Представление sql-скриптов на создание БД
Эта главная схема всех таблиц курсового проекта, которые связанны между собой для сохранения целостности данных и корректной работы автоматизированной системы “Офтальмологическая клиника”.
В таблице “Спец_обследование” (Рис. 3) находится информация по спец обследованию, то есть после прохождения пациентом назначенных ему обследований данные о результатах хранятся именно в этой таблице. Она была создана с помощью следующего SQL-запроса:
CREATE TABLE Спец_обследование
(ID_спец_обследования int primary key,
ID_посещения int,
Мутации nvarchar(30)
CHECK(Мутации IN('R124L', 'R124H', 'R124C', 'R555W', 'R555Q', 'T538R', 'H826R')),
Рентген_инородное_тело nvarchar(4)
CHECK(Рентген_инородное_тело IN('ЕСТЬ', 'НЕТ')),
С_реактивный_белок nvarchar(4)
CHECK(С_реактивный_белок IN('+', '++','+++','++++')),
Тимоловая int,
Сиаловая int,
СОЭ int,
Фибриноген int,
Ревматический_фактор int,
Рентген_феномен nvarchar(20)
CHECK(Рентген_феномен IN('светоощущение','форменное зрение')),
Ретинальная_острота_зрения int,
Пахиметрия_толщина_роговицы_в_мм int,
Компьютерная_кератотопография nvarchar(30)
CHECK (Компьютерная_кератотопография IN('не изменена','в-н ассиметрия','выпяч. в н. полусфере','выпяч. в ц. и н. полусфере')),
Кольца_Плацидо nvarchar(10)
CHECK(Кольца_Плацидо IN('не изменены','искажены','деформированы')),
Гониоскопия_угол_п_камеры nvarchar(10)
CHECK(Гониоскопия_угол_п_камеры IN('узкий','средний','широкий')),
Склеральная_шпора nvarchar(20)
CHECK(Склеральная_шпора IN('не выражена','слабо пигментирована','пигментирована')),
Трабекулярная_зона nvarchar(20)
CHECK(Трабекулярная_зона IN('норма','пигментирована','не видна')),
Мембрана_Бруха nvarchar(20)
CHECK(Мембрана_Бруха IN('остатки есть','нет')),
Протяжённость_прикрытия_фильтрационной_зоны nvarchar(20)
CHECK(Протяжённость_прикрытия_фильтрационной_зоны IN('1/3','1/2','2/3','по всему периметру')),
Корень_радужки nvarchar(20)
CHECK(Корень_радужки IN('норма','субатрофия','атрофия')),
Проба_Ширмера_мм int,
Время_разрыва_слезной_плёнки int,
УЗ_сканирование int,
Посев_с_кон_вы_стафилококк nvarchar(20)
CHECK(Посев_с_кон_вы_стафилококк IN('эпидермальный','золотистый','гемолитический')),
Соскоб_с_кон_вы_грибки int,
Соскоб_с_кон_вы_флора int,
Соскоб_с_кон_вы_лейкоциты int,
Проба_Манту_мм int)
Рис. 3
Эта таблица с помощью следующего запроса связана с таблицей “Мед_посещение” (Рис. 4):
ALTER TABLE Спец_обследование
ADD constraint CON2 foreign key(ID_посещения) references Мед_посещение(ID_посещения)
В этой таблице хранятся данные о посещениях всех клиентов клиники. И эта таблица создана с помощью следующего запроса:
CREATE TABLE Мед_посещение
(ID_посещения int primary key,
ID_карты int not null, Давление nvarchar(10), Температура nvarchar(5), Дата_посещения datetime)
Рис. 4
Эта таблица в свою очередь связана с таблицей “Мед_Карта” (Рис. 5)
Рис. 5
ALTER TABLE Мед_посещение
ADD constraint CON1 foreign key(ID_карты) references Мед_Карта(ID_карты).
Таблица “Мед_Карта” содержит информацию о всех пациентах клиники. Она была создана в базе с помощью следующего SQL-запроса:
CREATE TABLE Мед_Карта
(ID_карты int primary key,
ФИО_больного nvarchar(30),
Диагнозы nvarchar(50),
Дата_рождения datetime,
Дом_Адрес nvarchar(30),
Телефон nvarchar(10),
ID_лечащего_врача int not null)
Таблица “Мед_Карта” связана с таблицей “ Лечащий_Врач” (Рис. 4)
Рис. 6
ALTER TABLE Мед_Карта
ADD constraint CON foreign key(ID_лечащего_врача) references Лечащий_Врач(ID_лечащего_врача). Таблица “ Лечащий_Врач” содержит информацию о врачах, которые работают в клинике и создана с помощью следующего запроса:
CREATE TABLE Лечащий_Врач
(ID_лечащего_врача int primary key,
ФИО nvarchar(30),
Телефон nvarchar(10),
Специализация nvarchar(30))
Также содержится в базе данных таблица “Назначение” (Рис. 6), в которую лечащий врач может сформировать список обследований, которые необходимо пройти его пациенту. Эта таблица связанна с таблицей “Спец_обследование”.
Рис. 7
В базе также есть несколько таблиц, которые являются справочными “ПЦР” (Рис. 8), “Посев” (Рис. 9) и “СправочникОбследований” (Рис. 10)
Рис. 8
Рис. 9
Рис. 10
3.3 Разработка триггеров
Для необходимой работы с базой было написано несколько триггеров. При вставки записи в таблицу “Спец_обследование” удаляется соответствующая запись из таблицы “Назначение”. Эта процедура осуществляется с помощью следующего триггера:
CREATE TRIGGER udal
on Спец_обследование
after insert
as
begin
delete
from Назначение
end
Записи, которые были удалены из таблицы “Назначение” попадают в архивную таблицу “DELFROMNAZN”. Эта таблица была создана дополнительно в базе клиники
CREATE TABLE DELFROMNAZN
(ID_назначения INT,ID_спец_обследования INT,Дата_Назначения DATETIME,DELDATE datetime)
Операция переноса, удалённых данных в архивную таблицу происходит помощи следующего триггера:
CREATE TRIGGER DELDATE
on Назначение
FOR DELETE
AS
begin
INSERT
INTO DELFROMNAZN(ID_назначения,ID_спец_обследования,Дата_Назначения,
DELDATE)
SELECT ID_назначения Int,ID_спец_обследования int,Дата_Назначения DATETIME,GETDATE()
FROM DELETED
end
При автоматическом заполнении этой таблицы в поле под названием DELDATE с помощью функции GETDATE() помещается дата с точным временем удаления.
Следующие два триггера срабатывают после вставки данных в таблицы “Мед_Карта” и “Мед_посещение” соответствующих полей.
CREATE TRIGGER Vst_5
on Мед_Карта
after insert
as
begin
insert into dbo.Мед_посещение( Дата_посещения,ID_карты )
select ФИО_больного,ID_карты
from inserted
end
CREATE TRIGGER Vst_4
on Мед_посещение
after insert
as
begin
insert into dbo.Спец_обследование(ID_посещения)
select ID_посещения
from inserted
end
Также в курсовом проекте предусмотрено недопущение внесения новых данных в справочники, а именно - это таблицы “ПЦР”, ”Посев” и ”СправочникОбследования”.
USE CLINICA
GO
CREATE TRIGGER ins_no
on СправочникОбследований
for insert
as
print 'Вставка строк запрещена!'
USE CLINICA
GO
CREATE TRIGGER ins_no1
on Посев
for insert
as
print 'Вставка строк в справочник запрещена!'
USE CLINICA
GO
CREATE TRIGGER ins_no2
on ПЦР
for insert
as
print 'Вставка строк в справочник запрещена!'
4. ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
4.1 Проектирование и программирование диалоговых форм
На этапе проектирования пользовательского интерфейса была создана основная форма, которая необходима для удобного взаимодействия пользователя с информационной системой - офтальмологическая клиника.
При запуске проекта, который имеет название “ОФТАЛЬМОЛОГИЯ” открывается главное окно проекта Form1 под названием “ОФТАЛЬМОЛОГИЧЕСКАЯ КЛИНИКА”. Весь проект имеет следующую структуру:
Архив - содержит таблицу, которая хранит данные, удалённые из таблицы “Назначение”. Эти данные используются пользователями достаточно редко.
ЛечВрачи - форма с таблицей данных о старшем медицинском персонале.
МедКарты - форма с данными о клиентах клиники.
МедПосещ - содержит две, связанные таблицы “Мед_посещение” и
“Мед_Карта”.
Назнач - содержит две таблицы с назначениями и справочником для формирования назначений.
СпецОбсл - форма, содержащая спец обследование и медицинское посещение.
ПОСЕВЫ, ПЦР и ОБСЛ содержат таблицы со справочниками.
На каждой форме предусмотрен поиск по полю ФИО или по полю Дата и сортировка данных по возрастанию и по убыванию.
4.2 Создание многоуровневого меню пользователя
Главное меню курсового проекта многоуровневое и состоит из menuStrip1, label1, label2, label3 ,label4, label5, label6.
Файл --> Выход
Справочники --> ПЦР, ПОСЕВЫ
Архив --> Справочник Назначений
Сортировка --> А-Я, Я-А
Справка
5. РЕАЛИЗАЦИЯ ПРОЕКТА
5.1 Создание рабочей модели приложения базы данных
На данном этапе реализации проекта была создана рабочая модель приложения базы данных. Полностью созданная база данных со всеми необходимыми связанными таблицами, работающими триггерами и архивом была подключена средствами языка программирования C# к созданному проекту. На сегодня выполнение подключения баз данных стало намного проще, а точнее автоматическим.
C# включает такой мощный инструмент для отображения данных, как элемент управления DataGridView . DataGridView может использоваться как для разработки Windows Forms-приложений, так и для разработки Web-приложений. Нет разницы в написании кода. Этот элемент управления соединяет в себе все возможности таблицы Excel, и даже больше. Нужно отметить, что наделение DataGridView мощными функциональными возможностями имеет и свои недостатки одним из которых есть необходимость использования приложений компонентов.
Первый шаг: подключение баз данных с Microsoft SQL SERVER. В главном меню Microsoft Visual Studio виберем Data->Show Data Sources. Слева появится новая закладка- Data Sources, виберем функцию Add New Data Sources.
Появилось диалоговое окно для выбора типа Data Sources. Для подключения к SQL SERVER необходимо выбрать
Database->
next .
В следущем окне требуется вибрать путь соединения (после нажатия кнопки New Connection.)
Потом выбираем свой сервер и необходимую базу данных.
Потом выбираем данные, с какими собираемся работать:
Подключение закончено.
База данных средствами объектно-ориентированного языка программирования C# подключается к созданному проекту. После добавления базу данных можно увидеть в меню Источники данных.
5.2 Тестирование системы
Проводилось тестирование системы в результате, которого были выявлены некоторые ошибки, связанные не с не корректным проектированием данных самой базы данных на уровне работы с SQL, а именно ошибки логического характера. Например, ошибка, при которой пользователю не совсем удобно работать с таблицей медицинского посещения. Эта неточность была устранена путём добавления на форму ни одной таблицы, а двух связанных с помощью внешнего ключа таблиц. Было также обнаружено, что вставка данных при заполнении некоторых таблиц недопустима из-за того, что они связанны по табличному полю, которое находится в разных таблицах и на различных формах. Эта неточность была устранена путём написания нескольких триггеров на эти связанные таблицы. В ходе тестирования была проверена работа поиска и сортировки по заданным полям таблиц, которая работает корректно, а именно без ошибок и достаточно быстро.
5.3 Сопровождение системы
База данных, разработанная в ходе курсового проекта, называется CLINICA. Сам проект, который предназначается для запуска, имеет название “ОФТАЛЬМОЛОГИЯ”
Для работы с ней необходим следующий список программного обеспечения:
1. СУБД MS SQL SERVER 2005.
2. Microsoft Visual C# 2008 Express Edition
ЗАКЛЮЧЕНИЕ
В ходе курсовой работы мы решили все задачи, которые перед нами были поставлены. Была создана информационная база больницы. Полученная база данных дает возможность автоматизировать работу больницы. В ней учтены все данные, которые могут понадобиться при работе, а именно: данные о пациентах, персонале, обследованиях, назначениях. Но кроме хранения данных проект дает возможность просматривать архив, который создаётся автоматически после удаления данных на данный момент не нужных пользователю. В результате кроме таблиц с данными был разработан предназначенный для пользователя интерфейс, чтобы работать с данными было удобнее, и результаты работы были бы нагляднее. По моему мнению, предназначенный для пользователя интерфейс вышел нетяжелым в понимании и удобный в использовании, что, наверно, главное для человека, который нечасто пользуется компьютером с разными программами и является обычным пользователем. Поэтому поставленная в курсовой работе задача была решена.
ЛИТЕРАТУРА
1. С. В. Глушаков, Д. В. Ломотько «Базы данных» - Флио, АСТ, 2002.
2. Нильсен П., SQL Server 2005: Библия пользователя, 2008.
3. MSDN
ПРИЛОЖЕНИЯ
Основные элементы интерфейса пользователя.
Один из справочников курсовой работы (справочник ПЦР)
Таблица, где хранятся архивные данные.
Метод для поиска информации по таблицам:
(Для примера взята таблица с данными о лечащих врачах)
private void toolStripButton1_Click(object sender, EventArgs e)
{
var s = "SELECT ID_лечащего_врача, ФИО, Телефон, Специализация FROM dbo.Лечащий_Врач";
var Flag = true;
if (toolStripTextBox1.Text != "")
{
if (Flag != true)
s = s + " and [ФИО]='" + toolStripTextBox1.Text + "'";
else
{
s = s + " where [ФИО]='" + toolStripTextBox1.Text + "'";
Flag = false;
}
}
this.лечащий_ВрачTableAdapter.Adapter.SelectCommand.CommandText = s;
this.лечащий_ВрачTableAdapter.Fill(this.cLINICADataSet.Лечащий_Врач);
}
}
Сортировка данных:
private void аЯToolStripMenuItem_Click(object sender, EventArgs e)
{
this.лечащий_ВрачDataGridView.Sort(this.dataGridViewTextBoxColumn1, ListSortDirection.Ascending);
}
private void яАToolStripMenuItem_Click(object sender, EventArgs e)
{
this.лечащий_ВрачDataGridView.Sort(this.dataGridViewTextBoxColumn1, ListSortDirection.Descending);
}
|