Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2010, 11:30   #1
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию Delphi7+DBGridEh+FireBird+IBDataSet

Delphi7+DBGridEh+FireBird+IBDataSet

таблица:

Код:
CREATE TABLE RANGEIP (
    ID_RANGEIP  INTEGER NOT NULL,
    IP1         VARCHAR(20),
    IP2         VARCHAR(20),
    FLAGIS      SMALLINT
);
с IBDataSet делаю так:
в GeneratorField:
Код:
GEN_RANGEIP_ID -> ID_RANGEIP By 1
в InsertSQL:
Код:
insert into RANGEIP (ID_RANGEIP, IP1, IP2, FLAGIS ) values (:ID_RANGEIP, :IP1, :IP2, :FLAGIS)
в ModifySQL:
Код:
update RANGEIP set IP1=:IP1, IP2=:IP2, FLAGIS=:FLAGIS where ID_RANGEIP=:OLD_ID_RANGEIP
в RefreshSQL:
Код:
select * from  RANGEIP where ID_RANGEIP=:ID_RANGEIP order by IP1
в SelectSQL:
Код:
select * from  RANGEIP order by IP1
При выполнении кода:
Код:
   DataModuleMain.IBDataSetRANGEIP.open;
   DataModuleMain.IBDataSetRANGEIP.Insert;   DataModuleMain.IBDataSetRANGEIP.ParamByName('IP1').AsString:=FormMain.EditRangeIP1.Text+'.'+FormMain.EditRangeIP2.Text+'.'+FormMain.EditRangeIP3.Text+'.'+FormMain.EditRangeIP4.Text;
   DataModuleMain.IBDataSetRANGEIP.ParamByName('IP2').AsString:=FormMain.EditRangeIP5.Text+'.'+FormMain.EditRangeIP6.Text+'.'+FormMain.EditRangeIP7.Text+'.'+FormMain.EditRangeIP8.Text;
   DataModuleMain.IBDataSetRANGEIP.Post;
возникает ошибка:
Field "IP1" not found
Alekcey вне форума Ответить с цитированием
Старый 13.08.2010, 12:21   #2
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Alekcey
Проверьте,что у вас IBDataSetRANGEIP в момент выполнения запроса.
P.S.
ИМХО, лучше используйте IBQuery и в св-ве SQL пишите ваши запросы.
На нужные вам события выполняйте нужный вам запрос.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 13.08.2010, 13:03   #3
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Alexei91 Посмотреть сообщение
Alekcey

ИМХО, лучше используйте IBQuery и в св-ве SQL пишите ваши запросы.
На нужные вам события выполняйте нужный вам запрос.
я на поле FLAGIS CheckBox использую. TQuery не пойдёт
Alekcey вне форума Ответить с цитированием
Старый 13.08.2010, 13:11   #4
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию

ну наконец дошло

Код:
DataModuleMain.IBDataSetRANGEIP.open;
   DataModuleMain.IBDataSetRANGEIP.Insert;
   DataModuleMain.IBDataSetRANGEIP.FieldByName('IP1').AsString:=FormMain.EditRangeIP1.Text+'.'+FormMain.EditRangeIP2.Text+'.'+FormMain.EditRangeIP3.Text+'.'+FormMain.EditRangeIP4.Text;
   DataModuleMain.IBDataSetRANGEIP.FieldByName('IP2').AsString:=FormMain.EditRangeIP5.Text+'.'+FormMain.EditRangeIP6.Text+'.'+FormMain.EditRangeIP7.Text+'.'+FormMain.EditRangeIP8.Text;
   DataModuleMain.IBDataSetRANGEIP.FieldByName('FLAGIS').AsInteger:=1;
   DataModuleMain.IBDataSetRANGEIP.Post;
Alekcey вне форума Ответить с цитированием
Старый 13.08.2010, 13:27   #5
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию

Мужики, удобный компонент оказывается, надо взять на вооружение.

для MS SQL Server подобного компонента с SelectSQL, DeleteSQL ... не подскажите?
Alekcey вне форума Ответить с цитированием
Старый 13.08.2010, 16:01   #6
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию

на гриде CheckBox сделал. устанавливаю флаг. закрываю программу, запускаю снова, флаг не установлен.
Если ставлю флаги на нескольких полях закрываю программу, запускаю снова, флаги установлены только на некоторых полях.

Я так понял транзакцию комитить надо. в каком методе это делать или? или.. или как?

Transaction Properties= Read_Committed
Alekcey вне форума Ответить с цитированием
Старый 14.08.2010, 05:06   #7
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

Посмотрите http://www.programmersforum.ru/showthread.php?t=109691 - может поможет.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ibdataset Alekcey БД в Delphi 3 13.08.2010 08:07
После SELECT через IBDataSet ошибка EIBClientError 'Not in edit mode' DiMoN2002 Общие вопросы C/C++ 0 23.11.2009 20:51
Firebird. Выборка записей. Вопрос про DBGridEh. artemavd БД в Delphi 14 17.10.2009 12:09
IBDataSet Старовъръ БД в Delphi 7 07.07.2008 13:49
Почему ошибка в IBDataSet? 3lander БД в Delphi 3 10.10.2007 11:38