Рефераты. Учет посещаемости в рабочее время

На практике наборы данных чаще всего связываются отношением «главный-подчиненный» способом. Такой отчет содержит:

- Заголовок отчета;

- Заголовки столбцов;

- Области данных – в качестве набора данных устанавливается главный набор. В ней обычно размещаются компоненты QRDBText, текст, который является заголовками столбцов даны детальной области;

- Области детализации – устанавливается подчиненный набор данных. В ней обычно располагаются компоненты QRDBText и QRExpr, с помощью которых выводятся значения полей записей подчиненного набора данных;

- Нижний колонтитул страницы.

Составной отчет объединяет в себе несколько отчетов и представлен компонентом QRCompositeReport, который можно разместить на любой форме. На начальном этапе составной отчет не содержит ни одного отчета. Для добавления к составному отчету нового отчета используется событие OnAddReport, при этом добавляемые отчеты должны быть предварительно подготовлены. Свойство Reports составного отчета содержит список отчетов. Новые отчеты добавляются к этому списку методом Add.[5]


3.5 Создание запросов на языке SQL


При писании программного продукта для выбора студентов из базы данных по определенным критериям использовался язык запросов SQL, так как этот язык используется Delphi и Access.

SQL символизирует собой Структурированный Язык Запросов. Это - язык, который дает возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.

Информационное пространство становится более унифицированным. Это привело к необходимости создания стандартного языка, который мог бы использоваться в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их для создания, нахождения, изменения и передачи информации - независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. В нашем все более и более взаимосвязанном компьютерном мире, пользователь снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.   Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL (и, вероятно, в течение обозримого будущего оставит его) основным стандартным языком.[2]

Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде. Поэтому, в язык SQL в качестве составных частей входят:

- язык манипулирования данными (Data Manipulation Language, DML);

- язык определения данных (Data Definition Language, DDL);

- язык управления данными (Data Control Language, DCL).

Это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

SELECT (выбрать)

INSERT (вставить)

UPDATE (обновить)

DELETE(удалить)

Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:

CREATE DATABASE (создать базу данных);

CREATE TABLE (создать таблицу);

ALTER DATABASE (модифицировать базу данных);

ALTER TABLE (модифицировать таблицу);

DROP DATABASE (удалить базу данных);

DROP TABLE (удалить таблицу);

DROP INDEX (удалить индекс);

DROP PROCEDURE (удалить сохраненную процедуру).

Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать “язык управления доступом”. Он состоит из двух основных команд: GRANT (дать права), REVOKE (забрать права)

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

- интерактивный SQL;

- встроенный SQL.

Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне.

Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.

Наиболее важной командой языка манипулирования данными является команда SELECT. Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы.

К логическим операторам относятся известные операторы AND, OR, NOT, позволяющие выполнять различные логические действия: логическое умножение (AND, “пересечение условий”), логическое сложение (OR, “объединение условий”), логическое отрицание (NOT, “отрицание условий”). В наших примерах мы уже применяли оператор AND. Использование этих операторов позволяет гибко “настроить” условия отбора записей. Оператор AND означает, что общий предикат будет истинным только тогда, когда условия, связанные по “AND”, будут истинны.

Оператор OR означает, что общий предикат будет истинным, когда хотя бы одно из условий, связанных по “OR”, будет истинным. Оператор NOT означает, что общий предикат будет истинным, когда условие, перед которым стоит этот оператор, будет ложным. В одном предикате логические операторы выполняются в следующем порядке: сначала выполняется оператор NOT, затем - AND и только после этого - оператор OR. Для изменения порядка выполнения операторов разрешается использовать скобки.

Порядок выводимых строк может быть изменен с помощью опционального (дополнительного) предложения ORDER BY в конце SQL-запроса.

Способ упорядочивания определяется дополнительными зарезервированными словами ASC и DESC. Способом по умолчанию - если ничего не указано - является упорядочивание “по возрастанию” (ASC). Если же указано слово “DESC”, то упорядочивание будет производиться “по убыванию”.[2]

4 ПРОЦЕСС РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ


В результате разработки программного продукта получилась рабочая программа по чету посещаемости студентов.

На главной форме выбирается специальность, группа, студент, дата, количество пропущенных часов, по какой причине. После нажатия на кнопку «Утвердить» выбранные данных заносятся в базу данных. Так же с этой формы осуществляется переход на другие формы.

Используемые компоненты: DataSource, DBGrid, ADOQuery, ADOTable, Label, Button, ComboBox, DateTimePicker, MainMenu.

Код программы:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, DB, ADODB, Grids, DBGrids, ComCtrls, Menus;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOQuery1: TADOQuery;

ADOTable1: TADOTable;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

Label8: TLabel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button1: TButton;

ComboBox6: TComboBox;

ComboBox5: TComboBox;

ComboBox4: TComboBox;

ComboBox3: TComboBox;

ComboBox2: TComboBox;

ComboBox1: TComboBox;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

DateTimePicker1: TDateTimePicker;

N3: TMenuItem;

N4: TMenuItem;

procedure ComboBox1Change(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit3, Unit2, Unit7;

{$R *.dfm}

procedure TForm1.ComboBox1Change(Sender: TObject);

var pr:String;

begin

ADOTable1.Open;

ADOTable1.First;

ComboBox2.Items.Clear;

While not ADOTable1.Eof do

begin

if ADOTable1.Fieldbyname('Spesi').AsString=ComboBox1.Text Then

ComboBox2.Items.Add(ADOTable1.fieldbyname('Gruppa').AsString);

ADOTable1.Next;

end;

ADOTable1.Close;

ComboBox2.Sorted:=True;

end;

procedure TForm1.ComboBox2Change(Sender: TObject);

var pr1:String;

begin

ADOTable2.Open;

ADOTable2.First;

ComboBox3.Items.Clear;

While not ADOTable2.Eof do

begin

if ADOTable2.Fieldbyname('Gruppa').AsString=ComboBox2.Text Then

ComboBox3.Items.Add(ADOTable2.fieldbyname('FIO').AsString);

ADOTable2.Next;

end;

ADOTable2.Close;

ComboBox3.Sorted:=True;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

ADOTable3.Insert;

ADOTable3.FieldByName('Spesi').AsString:=Combobox1.Text;

ADOTable3.FieldByName('Gruppa').AsString:=Combobox2.Text;

ADOTable3.FieldByName('FIO').AsString:=Combobox3.Text;

ADOTable3.FieldByName('Date').AsString:=DateToStr (DateTimePicker1.Date);

ADOTable3.FieldByName('Uvazh').AsString:=Combobox4.Text;

ADOTable3.FieldByName('Neuvazh').AsString:=Combobox5.Text;

ADOTable3.FieldByName('Bolezn').AsString:=Combobox6.Text;

ADOTable3.Post;

ADOTable3.Close;

ADOTable3.Open;

ComboBox3.ClearSelection;

ComboBox4.Text:='0';

ComboBox6.Text:='0';

ComboBox5.Text:='0';

end;

procedure TForm1.N1Click(Sender: TObject);

begin

Form3.Show;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form2.Show;

end;

procedure TForm1.N4Click(Sender: TObject);

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.