Вопрос № 124819: Здравствуйте!!!
Имеется
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='CREATE TABLE tabletest(t int NoT NULL)';
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO tabletest(t) VALUES ('+IntToStr(i)+va...
Вопрос № 124.819
Здравствуйте!!!
Имеется
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='CREATE TABLE tabletest(t int NoT NULL)';
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO tabletest(t) VALUES ('+IntToStr(i)+varToStr(Random(100000)) +')');
ADOQuery1.ExecSQL;
{Переменая i типа int определена и задана в цикле}
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT * from tabletest';
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.TEXT:='DELETE FROM tabletest where t>1000 ';
ADOQuery1.ExecSQL;
Отвечает: Архангельский Андрей Германович
Здравствуйте, Иванов Фёдор Фёдорович!
1) Она пишет "неуспешное именение меаданных. Таблица уже существует"
нужно сначала удалить существующую (drop table) а потом создавать новую.
2) Это плохая идея создавать объекты из приложения.
Лучше сделать SQL-скрипт, который создает БД. А из приложения редактировать данные.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 25.02.2008, 20:59 Оценка за ответ: 3 Комментарий оценки: Спасибо большое за совет. Насчёт 1 скажу, что и вправду я удалял таблицу через Iexpert(нажимал коммит), только от этого моё приложение всё равно писало ошибку. Насчёт SQL скриптов-это понятно, мне важно не это, а именно как ПРАВИЛЬНО через используемые компоненты Сделать тоже самое в FireBird, что уже сделал в MSSQLServer. Вот в чём смысл проблемы- КАК сделать, а не ЗАЧЕМ!