Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.5 MB
Время: 0.234 c
1-1089062242
Алекс А
2004-07-06 01:17
2004.07.25
Как отследить вставилась ли строка в Memo или нет ?


14-1088749818
Dmitriy O.
2004-07-02 10:30
2004.07.25
Ура ! Сбылась мечта идиота ! (с) О.Бендер


8-1084188673
Никита
2004-05-10 15:31
2004.07.25
Воспризведение DWD


14-1089036311
Igorek
2004-07-05 18:05
2004.07.25
begin/end в начале/конце процедуры необязательные


14-1088768820
Dmitriy O.
2004-07-02 15:47
2004.07.25
Не могу установить RxLib на XP !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский