Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизВставка данных в базу Найти похожие ветки
← →
N&N (2004-07-01 11:35) [0]Уважаемые Мастера, подскажите, пожалуйста, как жить дальше.
Суть проблемы проста: не могу вставить данные в базу.
Все делаю по букварю: на форму поместил 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.
Скажите, пожалуйста, как быть?
← →
Johnmen © (2004-07-01 11:38) [1]Какой запрос в IBQuery1 ?
Какую литературу читал по программированию БД ?
← →
Соловьев © (2004-07-01 11:41) [2]
> А в ответ “ Transaction is active” .
> IBTransaction1.StartTransaction;
if not IBTransaction1.Active then
IBTransaction1.StartTransaction;
← →
N&N (2004-07-01 11:51) [3]to Соловьев © (01.07.04 11:41) [2]
1. select * from TableName
2. А.Н.Козявин Мир InterBase
С.Бобровский Delphi-7
В.Гофман Delphi-6
to Соловьев © (01.07.04 11:41) [2]
Пробовал-не заносит
← →
N&N (2004-07-01 11:53) [4]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” :).
← →
Соловьев © (2004-07-01 11:53) [5]1. IBDataSet вместо IBQuery.
2. Покажи настройки транзакции - даблклик. Если там пусто то выбери ReadCommited.
← →
Соловьев © (2004-07-01 11:54) [6]
> Пробовал-просто не заносит,
а как ты проверяешь?
← →
N&N (2004-07-01 12:03) [7]to Соловьев © (01.07.04 11:54) [6]
Заношу тексты в IBEdit"ы, потом давлю кнопочку " Записать"? Потом бегу в IBExpert-добавлений нет.
← →
Соловьев © (2004-07-01 12:06) [8]настройки транзакции?
перейди ты на IBDataSet, забудь про IBQuery
← →
N&N (2004-07-01 12:16) [9]to Соловьев © (01.07.04 12:06) [8]
Вообще-то, между нами, ... , говоря, я сначала целый день
и пытался с IBDataSet, и только надпись
“ Transaction is active” и бессильное отчаяние толкнуло меня на экперимент с IBQuery с аналогичным результатом :((
← →
Соловьев © (2004-07-01 12:21) [10]
> Вообще-то, между нами,
в третий раз спрашиваю о настройках транзакции :)
← →
N&N (2004-07-01 12:29) [11]to Соловьев © (01.07.04 12:21) [10]
Извинясь, конечно...
Даблкликнул на IBDatabase1. Там действительно было пусто. Выбрал рекомендованное ReadCommited, в Settings выпало read_committed
rec_version
nowait.
Но в базу не заносит.
← →
Соловьев © (2004-07-01 12:32) [12]
> Но в базу не заносит.
а в эксперте жал подтвердить транзакцию? :)
← →
N&N (2004-07-01 12:39) [13]to Соловьев © (01.07.04 12:32) [12]
>а в эксперте жал подтвердить транзакцию? :)
Так ведь эксперт и не просит подтверждения!?
← →
Соловьев © (2004-07-01 12:40) [14]просит. открой в експерте таблицу, жми закладку дата, и жми красную птичку. чуть леве.
← →
N&N (2004-07-01 12:59) [15]to Соловьев © (01.07.04 12:40) [14]
>просит. открой в експерте таблицу, жми закладку дата, и жми >красную птичку. чуть леве.
Все сделал, открыл, давнул закладку, давнул красненькую, он попрсил подтверждения, я подтвердил, однако новых данных в таблице не появилось
← →
Соловьев © (2004-07-01 13:05) [16]
> IBQuery1, IBQuery1, IBDatabase1, IBTransaction1
2 квери? или одна? транзакция к какой подключена?
какой запрос? перейди на датасет
← →
N&N (2004-07-01 13:12) [17]to Соловьев © (01.07.04 13:05) [16]
> IBQuery1, IBQuery1, IBDatabase1, IBTransaction1
>2 квери? или одна? транзакция к какой подключена?
>какой запрос? перейди на датасет
Один-один, это я ошибся в тексте, надо было указать DataSource
Сейчас переделаю обратно на IBDataSet
← →
Hawk2 (2004-07-01 13:18) [18]Даблкликнул на IBDatabase1. Там действительно было пусто. Выбрал рекомендованное ReadCommited, в Settings выпало read_committed
rec_version
nowait.
Вообще-то параметры транзакции настраиваются в IBTransaction, а не в IBDatabase. В IBDatabase, в Settings у меня стоят параметры подключения к базе:
lc_ctype=WIN1251
user_name=SYSDBA
PASSWORD=masterkey
← →
ЮЮ © (2004-07-02 03:22) [19]Если ты используешь DBEdit-ы, то для сохранения достаточно сделать Post, а для отмены Cansel. Зачем этот танец с бубном?
← →
Соловьев © (2004-07-02 09:26) [20]
> Зачем этот танец с бубном?
а транзакцию подтвердить? и почему достаточно сделать пост? может запрос не редактируем.
← →
ЮЮ © (2004-07-05 05:27) [21]>и почему достаточно сделать пост? может запрос не редактируем.
Если использовались DB-aware компоненты, то при редактировании DataSet будет переведен в dsEdit, а для вставки новой записи в коде должен присутствовать DataSet.Insert, иначе как можно заполнять поля "новой" записи с помoщью DB-aware компонентов ? (риторический :)
← →
Соловьев © (2004-07-05 09:51) [22]
> ЮЮ © (05.07.04 05:27)
действительно :)
но про транзакцию не забываем.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c