Читать книгу Базы данных на Delphi 7 (Сергей Николаевич Талипов) онлайн бесплатно на Bookz (3-ая страница книги)
bannerbanner
Базы данных на Delphi 7
Базы данных на Delphi 7Полная версия
Оценить:
Базы данных на Delphi 7

3

Полная версия:

Базы данных на Delphi 7

      ADOQuery4.SQL.Add('delete');

      ADOQuery4.SQL.Add('from Firmi_postavschiki');

      ADOQuery4.SQL.Add('where Tel_dir like '''+Edit5.Text+'%''');

      ADOQuery4.ExecSQL;


      ADOConnection1.CommitTrans;

    except

      ADOConnection1.RollbackTrans;

      ShowMessage('Произошла ошибка удаления, удаление записей отменено.');

    end;


*******


procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin


ADOConnection1.BeginTrans;

try

ADOQuery4.Close;

ADOQuery4.SQL.Clear;

ADOQuery4.SQL.Add('Delete ');

ADOQuery4.SQL.Add('From disc_1');

ADOQuery4.SQL.Add('where cod_firm in (select cod_firm from firm_2');

ADOQuery4.SQL.Add('Where firm_2.cod_city in (Select cod_city_proiz from city_3');

ADOQuery4.SQL.Add('Where (name_city like ''%-%'')and not(name_city like ''%,%'')))');

ADOQuery4.ExecSQL;


ADOQuery4.SQL.Clear;

ADOQuery4.SQL.Add('Delete');

ADOQuery4.SQL.Add('From firm_2');

ADOQuery4.SQL.Add('where firm_2.cod_city in (select cod_city_proiz from city_3');

ADOQuery4.SQL.Add('Where (name_city like ''%-%'')and not(name_city like ''%,%''))');

ADOQuery4.ExecSQL;


try

for i:=0 to ADOConnection1.DataSetCount do

ADOConnection1.DataSets[i].Requery;

except


end;


ADOConnection1.CommitTrans;

except

ADOConnection1.RollbackTrans;

ShowMessage('Произошла ошибка удаления, удаление записей отменено.');

end;


end;



ЛЕКЦИЯ № 10

1. СОЗДАНИЕ И РАБОТА С ОТЧЕТАМИ ДАННЫХ БД

1.1. Создание простейших отчетов бд через HTML


Uses …, shellapi;


procedure TForm1.Button8Click(Sender: TObject);

var tst: TStringList;

begin

tst:=TStringList.Create;

tst.Add('');

tst.Add('');

tst.Add('');

tst.Add('Пробная страничка');

tst.Add('');

tst.Add('');

tst.Add(DataSetTableProducer1.Content);

tst.Add('');

tst.SaveToFile('htmldoc.html');

tst.Free;

ShellExecute(handle, 'open', 'htmldoc.html', nil, nil, SW_SHOWNORMAL);

end;


1.2. Создание простейших отчетов БД с помощью QReport

Для рассмотрения вопроса создания простейшего отчета БД необходимо сделать две формы. На первой форме необходимо:

нанести компонет Table1 и Button1;

настроить Table1 на конкретную таблицу данных и открыть ее;

сдетать следующую процедуру обработчик для кнопки:



procedure TForm1.Button1Click(Sender: TObject);

begin

  form2.QuickRep1.Preview;

end;


На второй форме необходимо:

подключить в разделе «Uses» модуль «unit1»;

нанести компонет «QuickRep1» из вкладки «QReport» палитры компонент. Настроить его свойства;

нанести на компонет «QuickRep1» шесть компонент типа QRBand;

настроить компоненты QRBand на нужные модификации;

нанести в нужные места отчета компоненты QRLabel, QRDBText, QRSysData и настроить их свойства;



QuickRep

Базовый компонент для создания отчетов. Пустая форма отчета.

СвойствоНазначение свойстваDataSetПривязка к таблице БД, для которой делается отчет. Это свойство должно быть корректно задано для нормальной работы отчета

QRBand

Из этих компонентов-контейнеров стоится скелет отчета. Отчет обычно состоит как минимум из шести таких компонентов-контейнеров. Компонент имеет множество модификаций, от которых зависит назначение компонента

Свойство BandTypeНазначение компонентаrbTitleверхняя шапка всего отчета, выдается вверху первой страницыrbSummaryнижняя шапка всего отчета, выдается внизу последней страницыrbPageHeaderверхняя шапка для каждой страницы (включая первую)rbPageFooterнижняя шапка для каждой страницы (включая последнюю)rbColumnHeaderверхняя шапка для области вывода данных, выдается на каждой странице перед даннымиrbDetailконтейнер для компонент вывода данных из БД, область данныхrbGroupFooterконтейнер для компонент вывода данных БД для группировки

QRLabel

Отображает текстовые данные в указанном месте отчета. Эквивалент обычного «Label»

СвойствоНазначение свойстваCaptionкомментарий (слева) к отображаемым данным

QRDBText

Отображает данное из поля БД в указанном месте отчета. Эквивалент обычного «DBEdit». Компонент наносится обычно на контейнер «QRBand->rbDetail »

СвойствоНазначение свойстваAligmenttaCenter, taLeftJustify, taRightJustifyDataSetуказание источника данных (ссылка на Table или Query). Данное значение обязательно должно быть точно такое же, как и свойство «DataSet» у компонента QuickRepDataFieldимя поля таблицы БД

QRSysData

Компонент для отображения системных данных (текущего времени, даты, номера страницы и др.)

Свойство DataНазначение компонентаqrsDateTimeсистемная дата и времяqrsPageNumberномер печатаемой страницыqrsDetailNoпорядковый номер записи БД из области данных (по всему отчету)в событии «OnPrint» можно написать: Value:=inttostr(Form1.Table1.RecNo);qrsDetailCountколичество отображаемых в отчете записей БД (по всему отчету)rbGroupFooterнижний колонтитул группы. Контейнер для отображения значений суммы и др. по группировке данных
СвойствоНазначение свойстваTextкомментарий (слева) к отображаемым данным

QRShape

Компонент для рисования простейшей фигуры

Свойство ShapeНазначение компонентаqrsHorLineгоризонтальная линияqrsVertLineвертикальная линияqrsRectangleЧетырехугольник

QRExpr

Компонент отображения вычисляемого значения. Очень мощный компонент. Обычно располагается на контейнерах QRGroup, QRBand (вида rbGroupFooter) и др.

СвойствоНазначение свойстваExpressionвыражение отображения, например:sum(query1.zarpl)query1.fam+' ( '+query1.name+' )'IF(query1sc<>0,100*((sum(query1.sv)+ query1.so)),0)upper(query1.famil+' '+COPY(query1.ima, 1, 1)+'. '+COPY(query1.otch, 1, 1)+'.')Maskмаска отображения значения, например ‘### ### ### ### ### ### ##0.00’ или ‘##0.0%’MasterСсылка на компонент QuickRep, например «QuickRep1»

QRGroup

Компонент контейнер для группировки данных БД по полю.

СвойствоНазначение свойстваExpressionИмя поля группировки, например «Table1.group». Выбранная таблица группировки должна быть открыта с индексом по такому же полюFooterbandСсылка на компонент «QRBand-типа rbGroupFooter»



bannerbanner