![]() |
![]() |
![]() |
|
|||||||||
|
![]() | |||||||||||
|
![]() |
||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Информационная система компьютерного клубаИнформационная система компьютерного клубаМинистерство образования и науки УкраиныХарьковский национальный университет радиоэлектроникиКафедра информатикиПояснительная запискак курсовой работапо дисциплине“Организация баз данных и информационных систем ”Тема:“Информационная система компьютерного клуба ”Выполнил: ст. гр. xxxxxx xxxxxxx Проверила: Работа защищена с оценкой: Харьков 2008 РЕФЕРАТЦелью данного курсового проекта является разработка актуальной, автоматизированной информационно-справочной системы хранения и обработки информации справочной системы компьютерного клуба, которая способствовала бы упрощению администрирования компьютера в клубе, могла вести наблюдение за каждым компьютером, игроком, администратором, а так же находить необходимые данные при минимальных затратах времени. Курсовая работа состоит из введения, четырех частей, заключения, списка литературы, содержащего _ источников. Содержит _ страницы,_ рисунков, _ таблиц, _ SQL запросов, _ приложения .Во введении описывается область применения задачи и перечислены существующие методы ее решения в рамках единого комплекса, где информационной основой служит использование концепции баз данных, реализация которой в среде реляционных моделей считается перспективной. В курсовой работе принят метод решения задачи от построения инфологической схемы предметной области, которая затем отображается в логическую схему базы данных с последующей ее оптимизацией (нормализацией).Практическая реализация выполнена с использованием СУБД ACCESS и Delphi. Приведены программы построения отношений и запросов в среде реляционных моделей с использованием языка SQL. В заключении подводится итог проделанной работы и дается критический анализ полученных результатов. Приложение содержит распечатки общего вида форм .Ключевые слова и выражения: БАЗАДА ННЫХ, ДИАГРАММА СУЩНОСТЬ-СВЯЗЬ, ОТНОШЕНИЕ, ДАТАЛОГИЧЕСКАЯ МОДЕЛЬ, ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ, ПОТЕНЦИАЛЬНЫЕ КЛЮЧИ, ССЫЛОЧНАЯ ЦЕЛОСТНОСТЬ, АТРИБУТ, КОРТЕЖ, ФУНКЦИОНАЛЬНАЯ ЗАВИСИМОСТЬ, ПЕРВИЧНЫЙ КЛЮЧ, ВНЕШНИЙ КЛЮЧ, НОРМАЛИЗАЦИЯ, НОМАЛЬНЫЕ ФОРМЫ, ЯЗЫК ЗАПРОСОВ, СУБД, COM-технологии, DELPHI. СОДЕРЖАНИЕЗаданиеКалендарный планРЕФЕРАТВВЕДЕНИЕ1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ1.1Построение инфологической модели предметной области методом ER- диаграммы1.2Описание диаграммы «сущность-связь»2 ПОСТАНОВКА ЗАДАЧИ 3 РАЗРАБОТКА СХЕМЫ БАЗЫ ДАННЫХ3.1Описание логической схемы базы данных4 РАЗРАБОТКА ПРОЕКТА ПРИЛОЖЕНИЯ4.1Описание данных4.2 Создание отношений БД с помощью языка SQL4.3 Заполнение базы данных4.4 Создание запросов к базе данных компьютерного клуба 4.5 Создание отчетов по базам данных с помощью приложений Office4.5.1 Создание генерации отчетов с помощью Microsoft Excel4.5.1 Создание отчета с помощью Microsoft WordЗАКЛЮЧЕНИЕ СПИСОК ЛИТЕРАТУРЫ ПРИЛОЖЕНИЕ АПРИЛОЖЕНИЕ БПРИЛОЖЕНИЕ БВведениеВ современном мире информационных технологий информационно-справочные системы с использованием концепций баз данных нашли широкое применение. Любая отрасль не может развиваться без сотрудничества с информатикой, так как предприятиям необходимо обрабатывать огромное количество разнообразной информации, и без применения и информационно-справочных систем это было бы невозможным. Отсутствие хранилища данных и возможности организации быстрого к ним доступа, поиска и их обработки значительно затруднило бы работу и развитие крупных предприятий. Еще недавно бумажной базой данных можно было обойтись. Но сегодня без электронных баз данных, не обойтись, потому что процесс улучшения жизни общества требует увеличения объема необходимой информации ежегодно на 5-7%. А уже через десять объем необходимой информации удвоится.Занесение базы данных на ПК дает большое преимущество уже для однопользовательской системы - это компактность, скорость, низкие трудозатраты и актуальность. Базы данных - это компьютеризированная система хранения записей , то есть компьютеризированная система, назначение которой хранить информацию, предоставляя пользователям средства ее извлечения идентификации.Поскольку БД (база данных) - хранилище определенно города информации, то для управления или анализа их содержимого применяется программное обеспечение, позволяющее установить связь между пользователями системы и физическими записями данных. Таким программным обеспечением является СУБД - системы управления базами данных. Основная задача СУБД - предоставление возможности пользователю базы данных работать с ней, не вникая с детали ее архитектуры. Термин СУБД так же часто используются в отношении конкретных программных продуктов, одним из которых является Microsoft Access, который и был использован при выполнении данной курсовой работы.Этот программный продукт предлагает механизм формирования таблиц и достаточно прост в применении, обеспечивая этим пользователю - непрофессионалу комфорт при работе с базой данных.База данных обеспечивает хранение информации, а также удобный и быстрый доступ к данным. Она представляет собой совокупность данных различного характера, организованных по определенным правилам.Используется так же современные технологии программирования, базирующиеся на технологии COM и позволяющие использовать приложения Microsoft Office в качестве серверов автоматизации. COM является платформно-независимой, объектно-ориентированной технологией, позволяющей создавать бинарные компоненты. Эти компоненты можно использовать как локально, так и в распределенном сетевом окружении. COM служит основой для: OLE (технология составных документов), ActiveX-объектов и элементов управления ActiveX, DCOM, COM+. На базе COM создано большинство новейших продуктов (MS Office, MTS, …) и технологий Windows (Automation, Drag & Drop, ...). COM - это технология, позволяющая объектам взаимодействовать, несмотря на границы процесса или машины, так же легко, как и объектам внутри одного процесса. COM обеспечивает такое взаимодействие, определяя, что единственный путь управления данными, ассоциированными с объектом, лежит через интерфейс объекта. Термин «интерфейс», о котором речь пойдет чуть ниже, означает реализацию в коде COM-совместимого двоичного интерфейса, ассоциированного с объектом. Генерация отчетов по базам данных с помощью приложений Microsoft Office применяется на практике довольно часто. Причиной этого является желание пользователей получать отчеты в виде файла одного из стандартных форматов, иметь возможность редактировать их и обмениваться ими с клиентами и партнерами. Дело в том, что имеющиеся в комплекте поставки Delphi компоненты QuickReport обладают весьма ограниченными возможностями, связанными с созданием отчетов в одном из стандартных форматов, и применение вместо них приложений Microsoft Office, как правило, уже имеющихся в компании, нередко предпочтительнее приобретения профессиональных генераторов отчетов типа Crystal Reports (Crystal Decisions). Таким образом, путем автоматизации приложений Microsoft Office мы мо-жем создавать сложные отчеты, содержащие таблицы, диаграммы, вычисляемые значения, равно как и использовать для этой цели другие возможности Microsoft Office (например, сервисы построения сводных таблиц). 1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 1.1 Построение инфологической модели предметной области методом ER- диаграммы Начальным шагом в проектировании базы данных является постановка задачи, описание предметной области и построении инфологической модели данных, то есть модели «сущность - связь», известной еще как диаграмма Чена. Она помогает логическому программированию РБД. В логической схеме РБД семантика данных передается посредством первичных и внешних ключей и функциональных зависимостей. Для построения диаграммы сущность/связь прежде всего необходимо: · определить данные, которые будут использоватся РБД; · определить множество отношений в которых будут связаны эти данные; · вывести правила целостности и определить связи для работы с отношениями; ER-диаграмма строится с помощью таких основных правил: · cвойство всегда связано с одним определенным отношением, (если только отношения не являются подчиненными общему типу). В диаграмме свойства обозначаются овалами; · если отношение имеет связи, то между их связью должна быть описана логическая привязка обозначенная ромбом. Отношения обозначаются прямоугольниками. Все связи должны быть обязательно вида «один ко многим» или «многие к одному». · Отношения в модели сущность-связь могут иметь тип один-к-одному, один-ко-многим, многие-к-одному, многие-ко-многим (для упрощения изложения далее предполагается, что все отношения бинарные).1.2 Описание диаграммы «сущность-связь» для информационной системы компьютерного клубаСильными объектами являются Центр Данных, Компьютер, Услуги, Инфо игрока, Администратор, Модернизация, Устройства.Свойствами объекта Данные являются Номер компьютера, Дата аренды, Время аренды, Продолжительность, Код услуги, Игрок, Цена, Администратор.Свойствами объекта Компьютер являются Номер компьютера, Платформа, Частота, Монитор, Видеокарта, Жесткий диск, Мышь, Клавиатура, Наушники.Свойствами объекта Услуги являются - Номер Услуги, Название, Тариф.Свойствами объекта Инфо Игрока являются - Игрок, ФИО, Адрес, Команда.Свойствами объекта Администратор являются - Администратор, ФИО, Адрес, Доход.Инфологическая (ER-диаграмма) предметной области показана на рис. 1.12 ПОСТАНОВКА ЗАДАЧИРазрабатываемая информационная система компьютерного игрового клуба должна быть удобной в использовании, как для Администратора, обслуживающего компьютер, так и бухгалтера, директора клуба, налогового инспектора, а так же любого желающего игрока. Она дает возможность получить полную информацию о точной дате, времени, оказываемой услуге для определённого компьютера, посетителя или обслуживающего администратора.Система должна помочь работникам компьютерного клуба в ведении отчетов об аренде компьютеров посетителями, в поиске нужной информации об игроках, ведении статистики посещения определённого игрока. Также, помогает администратору без потери времени определить дату дежурства, дневную и общую прибыль.Данная информационная система должна решать задачу о нахождении подходящего компьютера соответствующего уровня в зависимости от услуги, которую выбирает посетитель.Система дает возможность администратору вести учет о составляющих устройствах компьютера, что позволяет проводить своевременную модернизацию, а так же подсчет расхода на неё.При построении информационной системы известно следующее: компьютер, его платформа, частота, монитор, установленные на него жесткий диск, видеокарта, манипуляторы, наушники , администратор и информация о нём, услуги, их описание и тариф. Данные, занесенные в таблицу, со временем могут обновляться.3 РАЗРАБОТКА СХЕМЫ БАЗЫ ДАННЫХ3.1 Описание логической схемы базы данныхВ представляемой базе данных семь отношений. Все отношения находятся в НФБК, так как каждая доминанта (атрибут функционально определяющий другой атрибут) является потенциальным ключом. Описание логической схемы базы данных:Отношение «Данные» имеет атрибуты: Номер_компа, Дата_аренды, Время_аренды, Продолжительность, Код_услуги, Игрок, Цена, Админ.Отношение «Услуги» имеет атрибуты: Номер_услуги, Название, Тариф.Отношение «Инфо игрока» имеет атрибуты: Игрок, ФИО, Адрес, Команда.Отношение «Админ» имеет атрибуты: Админ, ФИО, Адрес, Ставка.Отношение «Девайс» имеет атрибуты: Устройство, Магазин, Фирма, Цена.Отношение «Комп» имеет атрибуты: Номер_компа, Платформа, MHz, Monitor, Video, Hdd, Mouse, Keyboard, Headphones . Схема данных в Microsoft Access изображена на Рис. 3.14 РАЗРАБОТКА ПРОЕКТА ПРИЛОЖЕНИЯ4.1 Описание данных БДВ таблице 4.1 приведено описание данных БД «Работа клуба». Таблица 4.1 - Описание данных БД «Работа клуба»
СПИСОК ЛИТЕРАТУРЫ Буслик М.М. Модели и структуры данных. Мартин Дж. Организация баз данных в вычислительных системах.-М.: Мир, 1980.-608с. Глушаков С.В., Мельников И.В. Базы данных,включая SQL2 и SQL SERVER:Учебник для вузов.-Харьков.: Фолио,2000-250 с. Вейскас Дж. Эффективная работа с Access.-СПб:Питер.1997-848с. Боуман Дж.,Эмерсон С. Дарновски М. Практичесское руководство по SQL.-К:Диалектика,1998-565с. Дейт К. Введение в системы баз данных.- 6-е изд.-К:Диалектика, 1998.-784с. Холигвэрт, Джарод, Баттерфилд, Дэн, Сворт, Боб, и др. С++Builder 5. Руководство разработчика, том 2. Сложные вопросы программирования : Пер. с англ. - М.: Издательский дом “Вильямс”, 2001. - 832 с.: ил. - Парал. тит. англ. Архангельский А.Я. Приемы программирования в Delphi. Изд. 2-е, пере раб. и доп. - М.: ООО «Бином-Пресс», 2004 г. - 848 с.: ил.
Приложение В Код программы unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComObj, ActiveX, DB, ADODB, StdCtrls, Grids, DBGrids, ComCtrls, OleServer, ExcelXP; type TForm1 = class(TForm) Report_Word: TButton; Report_Excel: TButton; CreatePivotTable: TButton; ADOConnection1: TADOConnection; ADODataSet1: TADODataSet; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; ADOTable1: TADOTable; DataSource1: TDataSource; DBGrid1: TDBGrid; RadioButton1: TRadioButton; ComboBox1: TComboBox; RadioButton2: TRadioButton; ComboBox2: TComboBox; DBGrid2: TDBGrid; ADOQuery1: TADOQuery; DataSource2: TDataSource; Select: TMemo; Button1: TButton; DBGrid3: TDBGrid; DataSource3: TDataSource; TabSheet4: TTabSheet; ADOQuery2: TADOQuery; DataSource4: TDataSource; DBGrid4: TDBGrid; Button4: TButton; ADODataSet3: TADODataSet; Button5: TButton; TabSheet5: TTabSheet; DBGrid5: TDBGrid; DataSource5: TDataSource; Button6: TButton; procedure Report_WordClick(Sender: TObject); procedure Report_ExcelClick(Sender: TObject); procedure CreatePivotTableClick(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure ComboBox1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure ComboBox2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Wd, Doc, Rng, Tbl, Xl, Wb, Ws, Ch, Z : Variant; implementation {$R *.dfm} procedure TForm1.Report_WordClick(Sender: TObject); var I, Rcnt:integer; begin // Открываем базу данных и подсчитываем количество записей ADODataSet1.Open; Rcnt:=ADODataSet1.RecordCount; // Запускаем MS Word wd:= CreateOleObject('Word.Application'); // Отображаем на экране окно MS Word wd.Visible :=True; // Создаем новый документ wd.Documents.Add; Doc:= wd.Documents.Item(1); // Добавляем новый абзац Doc.Paragraphs.Add; // Меняем его стиль Doc.Paragraphs.Item(1).Style:='Заголовок 1'; // Создаем заголовок отчета Rng := Doc.Range(0); Rng.InsertBefore('Центр данных'); // Создаем заголовки колонок Doc.Paragraphs.Add; Rng.InsertAfter('Комп: Игрок: Дата: Продолжительность: Код услуги: Админ'); // Перемещаемся на первую запись набора данных ADODataSet1.First; for I := 1 to Rcnt do begin // Добавляем новый абзац Doc.Paragraphs.Add; // Добавляем поля из текущей записи в новый абзац Rng.InsertAfter(ADODataSet1.Fields[0].AsString+':'+ ADODataSet1.Fields[1].ASString+':'+ ADODataSet1.Fields[2].AsString+':'+ ADODataSet1.Fields[3].ASString+':'+ ADODataSet1.Fields[4].ASString+':'+ ADODataSet1.Fields[5].ASString); ADODataSet1.Next; end; // Превращаем текст в таблицу Rng:=Doc.Range(Doc.Paragraphs.Item(3).Range.Start, Doc.Paragraphs.Item(Rcnt+3).Range.End); Tbl:=Rng.ConvertToTable(':',Rcnt,6); // Изменяем размеры колонок таблицы Tbl.Columns.Item(1).Width:=Tbl.Columns.Item(1).Width-30; Tbl.Columns.Item(2).Width:=Tbl.Columns.Item(2).Width+20; Tbl.Columns.Item(3).Width:=Tbl.Columns.Item(3).Width-3; Tbl.Columns.Item(4).Width:=Tbl.Columns.Item(4).Width+20; Tbl.Columns.Item(5).Width:=Tbl.Columns.Item(5).Width-5; Tbl.Columns.Item(6).Width:=Tbl.Columns.Item(6).Width+5; // Подавляем вывод диагностических сообщений Wd.DisplayAlerts:=False; // Сохраняем документ Doc.SaveAs('D:\SOT\Custrep.doc'); // Закрываем Word и освобождаем ресурсы //Wd.Quit; Wd:=Unassigned; end; procedure TForm1.Report_ExcelClick(Sender: TObject); var I, Rcnt:integer; begin // Открываем базу данных и подсчитываем количество записей ADODataSet1.Open; Rcnt := ADODataSet1.RecordCount; // Запускаем Microsoft Excel Xl := CreateOleObject('Excel.Application'); // Отображаем окно Microsoft Excel Xl.Visible := True; // Создаем рабочую книгу Xl.WorkBooks.Add; Wb := XL.WorkBooks[1]; Ws := Wb.WorkSheets[1]; Ws.Name := 'Центр данных'; // Создаем заголовок отчета Ws.Cells[1,1] := 'Центр данных'; Ws.Cells[1,1].Font.Bold := True; Ws.Cells[1,1].Font.Size := 16; Ws.Cells[2,1] := 'Комп'; Ws.Cells[2,2] := 'Игрок'; Ws.Cells[2,3] := 'Дата'; Ws.Cells[2,4] := 'Продолжительность'; Ws.Cells[2,5] := 'Код услуги'; Ws.Cells[2,6] := 'Админ'; for I:=1 to 6 do Ws.Cells[2,i].Font.Bold := True; // Перемещаемся на первую запись набора данных ADODataSet1.First; for I:=1 to Rcnt do begin // Добавляем значения полей текущей записи в новую строку Ws.Cells[i+2,1] := ADODataSet1.Fields[0].AsString; Ws.Cells[i+2,2] := ADODataSet1.Fields[1].AsString; Ws.Cells[i+2,3] := ADODataSet1.Fields[2].AsString; Ws.Cells[i+2,4] := ADODataSet1.Fields[3].AsString; Ws.Cells[i+2,5] := ADODataSet1.Fields[4].AsString; Ws.Cells[i+2,6] := ADODataSet1.Fields[5].AsString; ADODataSet1.Next; end; // Изменяем ширину колонок Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5; Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5; Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5; Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5; Xl.Columns[5].ColumnWidth:=Xl.Columns[5].ColumnWidth+5; Xl.Columns[6].ColumnWidth:=Xl.Columns[6].ColumnWidth+5; // Подавляем вывод диагностических сообщений Xl.DisplayAlerts:=false; // Сохраняем документ Wb.SaveAs('D:\SOT\Custrer.xls'); // Закрываем Excel и освобождаем ресурсы //Xl.Quit; Xl:=Unassigned; end; procedure TForm1.CreatePivotTableClick(Sender: TObject); var WB,PC,PT:Variant; const // Константы Excel xlExternal = $00000002; xlCmdSql = $00000002; xlColumnField = $00000002; xlDataField = $00000004; xlPageField = $00000003; xlRowField = $00000001; begin // ADODataSet2.Open; // Запускаем Microsoft Excel Xl := CreateOleObject('Excel.Application'); // Делаем окно Excel видимым Xl.Visible:=true; // Создаем одну рабочую книгу с одним листом Xl.WorkBooks.Add(1); Wb := Xl.WorkBooks[1]; Ws := Wb.WorkSheets[1]; // Создаем кэш для хранения данных PC := WB.PivotCaches.Add(xlExternal); // Выбираем источник данных и текст запроса PC.Connection := 'OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=D:\SOT\club.mdb'; PC.CommandType := xlCmdSql; PC.CommandText := 'SELECT Игрок, Номер_компа,'+' Админ, Код_услуги, Цена FROM 01Cost_more_5'; // Создаем сводную таблицу PC.CreatePivotTable(WB.Worksheets[1].Cells[1,1],'PivotTable1'); PT := WB.Worksheets[1].PivotTables('PivotTable1'); // Указываем расположение осей и суммируем данные PT.PivotFields('Игрок').Orientation := xlRowField; PT.PivotFields('Игрок').Position := 1; PT.PivotFields('Номер_компа').Orientation := xlRowField; PT.PivotFields('Номер_компа').Position := 2; PT.PivotFields('Админ').Orientation := xlPageField; PT.PivotFields('Код_услуги').Orientation := xlColumnField; PT.PivotFields('Цена').Orientation := xlDataField; WB.Worksheets[1].Columns[2].ColumnWidth := 15; WB.Worksheets[1].Columns[1].ColumnWidth := 20; end; procedure TForm1.RadioButton1Click(Sender: TObject); var i:integer; begin ADOConnection1.GetTableNames(ComboBox1.Items); for i:=Combobox1.Items.Count-1 downto 0 do if Pos ('0', Combobox1.Items[i])>0 then Combobox1.Items.Delete(i) ; for i:=Combobox1.Items.Count-1 downto 0 do if Pos ('1', Combobox1.Items[i])>0 then Combobox1.Items.Delete(i) ; for i:=Combobox1.Items.Count-1 downto 0 do if Pos ('2', Combobox1.Items[i])>0 then Combobox1.Items.Delete(i) ; end; procedure TForm1.ComboBox1Click(Sender: TObject); begin if ADOTable1.Active then ADOTable1.Active:=False; ADOTable1.TableName:=ComboBox1.Text;ADOTable1.Active:=True; TabSheet1.Caption:= ComboBox1.Text; end; procedure TForm1.RadioButton2Click(Sender: TObject); var i:integer; begin ADOConnection1.GetTableNames(ComboBox2.Items); for i:=Combobox2.Items.Count-1 downto 0 do if Pos ('Админ', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ; for i:=Combobox2.Items.Count-1 downto 0 do if Pos ('Данные', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ; for i:=Combobox2.Items.Count-1 downto 0 do if Pos ('Инфо игрока', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ; for i:=Combobox2.Items.Count-1 downto 0 do if Pos ('Комп', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ; for i:=Combobox2.Items.Count-1 downto 0 do if Pos ('Услуги', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ; for i:=Combobox2.Items.Count-1 downto 0 do if Pos ('~', Combobox2.Items[i])>0 then Combobox2.Items.Delete(i) ; end; procedure TForm1.ComboBox2Click(Sender: TObject); begin if ADOTable1.Active then ADOTable1.Active:=False; ADOTable1.TableName:=ComboBox2.Text;ADOTable1.Active:=True; TabSheet1.Caption:= ComboBox2.Text; end; procedure TForm1.Button1Click(Sender: TObject); begin if ADOQuery2.Active then ADOQuery2.Active:=False; ADOQuery2.SQL:=Select.Lines;ADOQuery2.Active:=True; end; procedure TForm1.Button2Click(Sender: TObject); begin if ADOTable1.Active then ADOTable1.Active:=False; ADOTable1.TableName:=ComboBox1.Text;ADOTable1.Active:=True; TabSheet1.Caption:= ComboBox1.Text; end; procedure TForm1.Button4Click(Sender: TObject); {var fam: string[30]; begin fam:=InputBox('Выборка информации из БД', 'Укажите фамилию и щелкните на OK.', ''); if fam <> '' // пользователь ввел фамилию then } begin with form1.ADOQuery2 do begin Close; // закрыть файл-результат выполнения предыдущего запроса SQL.Clear; // удалить текст предыдущего запроса // записываем новый запрос в свойство SQL SQL.Add('SELECT Админ, ФИО, Ставка'); SQL.Add('FROM Админ'); Open; // активизируем выполнение запроса end; {if ADOQuery2.RecordCount <> 0 then DataSource1.DataSet:=ADOQuery2 // отобразить рез-т выполнения запроса else begin ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.'); DataSource1.DataSet:=ADOTable1; end; } end; procedure TForm1.Button5Click(Sender: TObject); var I, Rcnt:integer; begin // Открываем базу данных и подсчитываем количество записей ADODataSet3.Open; Rcnt := ADODataSet3.RecordCount; // Запускаем Microsoft Excel Xl := CreateOleObject('Excel.Application'); // Отображаем окно Microsoft Excel Xl.Visible := True; // Создаем рабочую книгу Xl.WorkBooks.Add; Wb := XL.WorkBooks[1]; Ws := Wb.WorkSheets[1]; Ws.Name := 'Админ'; // Создаем заголовок отчета Ws.Cells[1,1] := 'Админ'; Ws.Cells[1,1].Font.Bold := True; Ws.Cells[1,1].Font.Size := 16; Ws.Cells[2,1] := 'Админ'; Ws.Cells[2,2] := 'ФИО'; Ws.Cells[2,3] := 'Адрес'; Ws.Cells[2,4] := 'Ставка'; for I:=1 to 4 do Ws.Cells[2,i].Font.Bold := True; // Перемещаемся на первую запись набора данных ADODataSet3.First; for I:=1 to Rcnt do begin // Добавляем значения полей текущей записи в новую строку Ws.Cells[i+2,1] := ADODataSet3.Fields[0].AsString; Ws.Cells[i+2,2] := ADODataSet3.Fields[1].AsString; Ws.Cells[i+2,3] := ADODataSet3.Fields[2].AsString; Ws.Cells[i+2,4] := ADODataSet3.Fields[3].AsString; ADODataSet3.Next; end; // Изменяем ширину колонок Xl.Columns[1].ColumnWidth:=Xl.Columns[1].ColumnWidth+5; Xl.Columns[2].ColumnWidth:=Xl.Columns[2].ColumnWidth+5; Xl.Columns[3].ColumnWidth:=Xl.Columns[3].ColumnWidth+5; Xl.Columns[4].ColumnWidth:=Xl.Columns[4].ColumnWidth+5; // Подавляем вывод диагностических сообщений Xl.DisplayAlerts:=false; // Сохраняем документ Wb.SaveAs('D:\SOT\Custrer2.xls'); // Закрываем Excel и освобождаем ресурсы //Xl.Quit; Xl:=Unassigned; end; procedure TForm1.Button6Click(Sender: TObject); begin with form1.ADOQuery2 do begin //Close; // закрыть файл-результат выполнения предыдущего запроса SQL.Clear; // удалить текст предыдущего запроса // записываем новый запрос в свойство SQL SQL.Add('INSERT INTO Админ (Админ, ФИО, Адрес, Ставка) VALUES ("Annie", "Бойко А.К.", "Засекречено:)", 1000);'); ExecSQL; // активизируем выполнение запроса end; end; end. |
РЕКЛАМА
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
![]() |
© 2010 | ![]() |