Вход/Регистрация
S. D. F.
вернуться

Cat W

Шрифт:

7 : result := 'smallint';

8 : result := 'integer';

9 : result := 'quad';

10 : result := 'float';

11 : result := 'd_float';

12 : result := 'date';

13 : result := 'time';

14 : result := 'char';

27 : result := 'double';

35 : result := 'date';

37 : result := 'varchar';

 261 : result := 'blob';

 else result := IntToStr(n)+' ?';

 end; // case

end;

В результате отобразится, нечто такое:

– * -

– Ну, и чего так долго, конечно, пива много не бывает, но…

* В общем-то, получилось, но никак не могу скопировать получившееся.

– Да, есть такая задача. Вставь в самом конце (перед end.) в файле Unit1:

initialization

OleInitialize(nil);

finalization

OleUninitialize;

А в самом начале этого файла вставь ActiveX в разделе uses.

* Так, просто! Да что же это такое. Просто хочется рвать и метать!!

– Это Windows.

* Ну, что теперь отображаем данные?

– Нет, не к спеху, да и отображать еще нечего, давай отдохни, а я подготовлюсь к последнему рывку.

«Продолжение следует»

Последний? Рывок к ББД

– Предлагаю вернуться к выполнению SQL запроса.

– Бывают запросы SELECT и все остальные. Результат выполнения SELECT – будем выдавать в закладку result, а остальные просто выполнять.

– Переделываем Button1Click:

010 procedure TFMain.Button1Click(Sender: TObject);

020 begin // кнопка run SQL

030 RunSQL(MakeSQL); // выполение команды SQL

040 end;

– Пойдем дальше.

– Теперь можно заняться кнопочкой «Show Data»

010 procedure TFMain.Button5Click(Sender: TObject);

020 var

030 i : integer;

040 S : string;

050 begin // Show Data

060 with CheckListBox1 do

070 begin // составляем список полей

080 if Items.Count = 0 then exit; // если список пуст - уходим

090 S := 'SELECT ';

100 for i := 0 to Items.Count - 1 do // список полей вставляем в запрос

110 if Checked[i] then

120 S := S + LowerCase(Items[i]) + ', ';

130 end; // with CheckListBox1

140 delete(S, length(S)-1, 2);

150 Memo1.Clear;

160 Memo1.Lines.Add(S);

170 S := 'FROM '+ LowerCase( ListBox1.Items[ ListBox1.ItemIndex] );

180 Memo1.Lines.Add(S);

190 RunSQL( MakeSQL);

200 end;

– Тут все должно быть ясно: кнопка вырабатывает команду SELECT для полей отмеченных галочкой и распечатывает результат.

* Ну, как теперь-то все готово.

– Вот же шило в одном месте. Ладно, следующий пункт:

Тестирование

– Как ты помнишь, тренироваться мы будем по книге Мартина Грубера «Понимание SQL»[1], при потребности будем поглядывать в «Firebird. Руководство разработчика баз данных» Хелен Борри[2].

* Ну и в интернете найдется масса материала.

– Для нашей игры понадобится база с определенными таблицами, полюбуйся на них приложении к [1].

* Не сказать, что 3 таблицы это очень много, но…

– Я так понимаю, что тебе лень, а лень двигатель прогресса.

– В данном случае, я тебе помогу…

– На закладке SQL ставим еще одну кнопку «Run SQL by List».

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

– Каждый запрос должен заканчиваться «;», допускается перенос запроса на несколько строк, не допускается несколько запросов в одной строке.

– Не отображается результат запросов SELECT

– При ошибочном запросе, выполнение списка прекращается.

010 procedure TFMain.Button6Click(Sender: TObject);

020 var

030 i : integer;

040 L : TStringList;

050 S : string;

060 begin // Run SQL by List

070 with OpenDialog1 do

080 begin // подготавливаем диалог

090 Filter := 'File with SQL|*.txt';

100 DefaultExt := 'txt';

110 if Execute then

  • Читать дальше
  • 1
  • ...
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: