Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вставка данных в базу [D7]


Страницы:   1 2

N&N ©   (2004-07-01 11:35:00) 

Уважаемые Мастера, подскажите, пожалуйста, как жить дальше.
Суть проблемы проста: не могу вставить данные в базу.
Все делаю по букварю: на форму поместил  IBQuery1, IBQuery1, IBDatabase1, IBTransaction1 и  несколько DBEdit’ов. Связал, как рекомендовано, в просмотре работает без проблем, а когда дело доходит до вставки- вставлять не хочет.
Обработчик на кнопку “Записать” такой:
IBTransaction1.StartTransaction;
   IBQuery1.Insert;
   IBQuery1.Fields[0].AsString:=DBEdit1.Text;
   ........
IBQuery1.Fields[n].AsString:=DBEditN.Text;
IBQuery1.Post;
   IBTransaction1.Commit;

А в ответ “ Transaction is active” .
Попробовал дополнить форму компонентом IBUpdateSQL,  прописал свойства InsertSql, ModifySql- толку нет, тот же результать.
У меня Delphi-7 и FireBird-1,5.
Скажите, пожалуйста, как быть?


Соловьев   (2004-07-05 09:51:00) [1]


> ЮЮ ©   (05.07.04 05:27)

действительно :)
но про транзакцию не забываем.


ЮЮ   (2004-07-05 05:27:00) [2]

>и почему достаточно сделать пост? может запрос не редактируем.
Если использовались DB-aware компоненты, то при редактировании DataSet будет переведен в dsEdit, а для вставки новой записи в коде должен присутствовать DataSet.Insert, иначе как можно заполнять поля "новой" записи с помoщью DB-aware компонентов ? (риторический :)


Соловьев   (2004-07-02 09:26:00) [3]


> Зачем этот танец с бубном?

а транзакцию подтвердить? и почему достаточно сделать пост? может запрос не редактируем.


ЮЮ   (2004-07-02 03:22:00) [4]

Если ты используешь DBEdit-ы, то для сохранения достаточно сделать Post, а для отмены Cansel. Зачем этот танец с бубном?


Hawk2   (2004-07-01 13:18:00) [5]

Даблкликнул на IBDatabase1. Там действительно было пусто. Выбрал рекомендованное ReadCommited, в Settings выпало read_committed
rec_version
nowait.

Вообще-то параметры транзакции настраиваются в IBTransaction, а не в IBDatabase. В IBDatabase, в Settings у меня стоят параметры подключения к базе:
lc_ctype=WIN1251
user_name=SYSDBA
PASSWORD=masterkey


N&N   (2004-07-01 13:12:00) [6]

to Соловьев ©   (01.07.04 13:05) [16]

> IBQuery1, IBQuery1, IBDatabase1, IBTransaction1

>2 квери? или одна? транзакция к какой подключена?
>какой запрос? перейди на датасет

Один-один, это я ошибся в тексте, надо было указать DataSource
Сейчас переделаю обратно на IBDataSet


Соловьев   (2004-07-01 13:05:00) [7]


> IBQuery1, IBQuery1, IBDatabase1, IBTransaction1

2 квери? или одна? транзакция к какой подключена?
какой запрос? перейди на датасет


N&N   (2004-07-01 12:59:00) [8]

to Соловьев ©   (01.07.04 12:40) [14]
>просит. открой в експерте таблицу, жми закладку дата, и жми >красную птичку. чуть леве.

Все сделал, открыл, давнул закладку, давнул красненькую, он попрсил подтверждения, я подтвердил, однако новых данных в таблице не появилось


Соловьев   (2004-07-01 12:40:00) [9]

просит. открой в експерте таблицу, жми закладку дата, и жми красную птичку. чуть леве.


N&N   (2004-07-01 12:39:00) [10]

to Соловьев ©   (01.07.04 12:32) [12]
>а в эксперте жал подтвердить транзакцию? :)

Так ведь эксперт и не просит подтверждения!?


Соловьев   (2004-07-01 12:32:00) [11]


> Но в базу не заносит.

а в эксперте жал подтвердить транзакцию? :)


N&N   (2004-07-01 12:29:00) [12]

to Соловьев ©   (01.07.04 12:21) [10]
Извинясь, конечно...
Даблкликнул на IBDatabase1. Там действительно было пусто. Выбрал рекомендованное ReadCommited, в Settings выпало read_committed
rec_version
nowait.
Но в базу не заносит.


Соловьев   (2004-07-01 12:21:00) [13]


> Вообще-то, между нами,

в третий раз спрашиваю о настройках транзакции :)


N&N   (2004-07-01 12:16:00) [14]

to Соловьев ©   (01.07.04 12:06) [8]
Вообще-то, между нами, ... , говоря, я сначала целый день
и пытался с IBDataSet, и только надпись
“ Transaction is active” и бессильное отчаяние толкнуло меня на экперимент с IBQuery с аналогичным результатом :((


Соловьев   (2004-07-01 12:06:00) [15]

настройки транзакции?
перейди ты на IBDataSet, забудь про IBQuery


N&N   (2004-07-01 12:03:00) [16]

to Соловьев ©   (01.07.04 11:54) [6]
Заношу тексты в IBEdit'ы, потом давлю кнопочку " Записать"? Потом бегу в IBExpert-добавлений нет.


Соловьев   (2004-07-01 11:54:00) [17]


> Пробовал-просто не заносит,

а как ты проверяешь?


Соловьев   (2004-07-01 11:53:00) [18]

1. IBDataSet вместо IBQuery.
2. Покажи настройки транзакции - даблклик. Если там пусто то выбери ReadCommited.


N&N   (2004-07-01 11:53:00) [19]

to Соловьев ©   (01.07.04 11:41) [2]
1. select * from TableName
2. А.Н.Козявин  Мир InterBase
  С.Бобровский Delphi-7
  В.Гофман Delphi-6
to Соловьев ©   (01.07.04 11:41) [2]
Пробовал-просто не заносит, зато теперь не пишет
“ Transaction is active” :).


N&N   (2004-07-01 11:51:00) [20]

to Соловьев ©   (01.07.04 11:41) [2]
1. select * from TableName
2. А.Н.Козявин  Мир InterBase
   С.Бобровский Delphi-7
   В.Гофман Delphi-6
to Соловьев ©   (01.07.04 11:41) [2]
Пробовал-не заносит


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо