Реферат: Створення клієнтської програми для користування базою данних MS ACCESS в Delphi 4 0
begin
DataModule1.Query1.SQL.Clear;
sqlTable:='Select * ';
sqlWhere:='where ';
sqlTable:=sqlTable + 'from Товар ';
sqlWhere:=sqlWhere+'('+t1+' like '''+'%'+Edit1.Text+''') and ('+t2+' like '''+Edit2.Text+''') and ('+
t3+' like '''+Edit3.Text+''') and ('+t4+' like '''+Edit4.Text+''') and (';
case ComboBox1.ItemIndex of
0: sqlWhere:=sqlWhere+t5+' = '+Edit5.Text+');'; // рівне вказаному значенню
1: sqlWhere:=sqlWhere+t5+' > '+Edit5.Text+');'; // більше
2: sqlWhere:=sqlWhere+t5+' < '+Edit5.Text+');'; // менше
3: sqlWhere:=sqlWhere+t5+' between '+Edit5.Text+' and '+Edit12.Text+');'; // в інтервалі
end;
DataModule1.Query1.SQL.Add(sqlTable+sqlWhere);
DataModule1.Query1.Active:=True;
end;
Символ процента використовується в мові SQL драйвера MS ACCESS для вибору всіх значень з предикатом Like (наприклад like’a%’ поверне всі значення що починаються з букви а), тому по замовчуванні для Edit полів таблиці товар задамо значення Text = %, для поля «Ціна за одиницю товару” Text = 0, для Edit12, поля в якому вказуэться верхня межа по замовчуванны введемо Text = 1000. Запустимо програму і перейшовши на закладку “Запити” натиснемо кнопку з підказкою “Шукати записи по введених критеріях”, після чого натиснемо на кнопку для перегляду тексту запиту з підказкою “Показати текст виконаного запиту”, отримаємо наступне:
Аналогічно створимо на панелі інструментів кнопки, яким присвоїмо властивість Hint відповідно «Знищити записи, що задовільняють критеріям», «Створити нову таблицю на основі записів, що задовільняють критеріям», «Додати новий запис» і «Ввести запит самому», для яких введемо наступний текст обробки подій OnClick:
procedure TForm1.ToolButton4Click(Sender: TObject); // знищення записів
var sqlTable,sqlWhere: String;
begin
if MessageDlg('Ви впевненні що хочете знищити записи, що задовільняють введеним даним?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
DataModule1.Query1.SQL.Clear;
sqlTable:='Delete * ';
sqlWhere:='where ';
sqlTable:=sqlTable + 'from Товар ';