![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
здравствуйте. мне нужно написать программу, которая будет автоматически выполнять набор команд-запросов (скриптов). возможно ли это сделать без вспомогательных утилит (osql и т.п.)? если да, то какими средствами делфи это лучше сделать? выводить ничего никуда не нужно, главное - изменить данные в самой БД.
|
|
#2
|
|||
|
|||
|
на чем база?
|
|
#3
|
|||
|
|||
|
firebird (interbase)
|
|
#4
|
|||
|
|||
|
Ну а что мешает использовать ibdatabase, ibquery в таком случае?
|
|
#5
|
|||
|
|||
|
недостаток знаний. поэтому и спрашиваю)
|
|
#6
|
|||
|
|||
|
эмм... сообственно используем 3 компонента
Ibdatabase для соединения с базой. Ibtransaction - для управления транзакциями. и Ibquery для выполнения запросов. в параметрах IBDatabase прописываем параметры для доступа такие как путь к серверу, логин, пароль и т.д. привязываем к нему IbTransaction указав его в одноименном свойстве. в Ibquery В свойстве DataBase выбираем IBDataBase. Далее примерно так, например на кнопку вешаем событие и в событии пишем например: Код:
if ibTransaction1.intransaction then ibtransaction.commit;
ibtransaction.StartTransaction;
ibquery1.active:=false;
ibquery1.Sql.clear;
ibquery1.Sql.add('Update TableName Set FieldName=1 where id=1');
ibquery1.ExecSql;
ibtransaction.commit;
ibtransaction.StartTransaction;
ibquery1.active:=false;
ibquery1.Sql.clear;
ibquery1.Sql.add('INSERT INTO TableName (FieldName) Values ('+#39+'sss'+#39+')');
ibquery1.ExecSql;
ibtransaction.commit; |