Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизDelphi7+DBGridEh+FireBird+IBDataSet Найти похожие ветки
← →
Alekcey © (2010-08-13 11:58) [0]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.EditRangeI P1.Text+"."+FormMain.EditRangeIP2.Text+"."+FormMain.EditRangeIP3.Text+"."+FormMain.EditRangeIP4.Text;
DataModuleMain.IBDataSetRANGEIP.ParamByName("IP2").AsString:=FormMain.EditRangeI P5.Text+"."+FormMain.EditRangeIP6.Text+"."+FormMain.EditRangeIP7.Text+"."+FormMain.EditRangeIP8.Text;
DataModuleMain.IBDataSetRANGEIP.Post;
возникает ошибка:
Field "IP1" not found
← →
Sergey13 © (2010-08-13 12:10) [1]> [0] Alekcey © (13.08.10 11:58)
> DataModuleMain.IBDataSetRANGEIP.ParamByName("IP1").AsString:
> =FormMain.EditRangeI P1.Text+"."+FormMain.EditRangeIP2.Text+"."+FormMain.
> EditRangeIP3.Text+"."+FormMain.EditRangeIP4.Text;
Присваивать значения надо ПОЛЯМ, а не параметрам.
← →
Alekcey © (2010-08-13 13:11) [2]понял, спасибо
← →
Alekcey © (2010-08-13 13:28) [3]Мужики, удобный компонент оказывается, надо взять на вооружение.
для MS SQL Server подобного компонента с SelectSQL, DeleteSQL ... не подскажите?
← →
Alekcey © (2010-08-13 15:10) [4]на гриде CheckBox сделал. устанавливаю флаг. закрываю программу, запускаю снова, флаг не установлен.
Если ставлю флаги на нескольких полях закрываю программу, запускаю снова, флаги установлены только на некоторых полях.
Я так понял транзакцию комитить надо. в каком методе это делать или? или.. или как?
в транзакции Read_Committed
← →
Alekcey © (2010-08-13 15:53) [5]на FormShow:
Way_to_database:=Application.ExeName;
while Way_to_database[length(Way_to_database)]<>"\" do
delete(Way_to_database,length(Way_to_database),1);
DataModuleMain.IBDatabaseMain.Connected:=false;
DataModuleMain.IBDatabaseMain.DatabaseName:=Way_to_database+"BDSCANIP.fdb";
DataModuleMain.IBDatabaseMain.Connected:=true;
DataModuleMain.IBTransactionRANGEIP.Active:=true;
DataModuleMain.IBDataSetRANGEIP.open;
DataModuleMain.IBDataSetRANGEIP.First;
DataModuleMain.IBDataSetRANGEIP.Last;
DataModuleMain.IBDataSetRANGEIP.First;
Transaction Properties= Read_Committed
добавляю запись:DataModuleMain.IBDataSetRANGEIP.open;
DataModuleMain.IBDataSetRANGEIP.Insert; DataModuleMain.IBDataSetRANGEIP.FieldByName("IP1").AsString:=FormMain.EditRangeI P1.Text+"."+FormMain.EditRangeIP2.Text+"."+FormMain.EditRangeIP3.Text+"."+FormMain.EditRangeIP4.Text; DataModuleMain.IBDataSetRANGEIP.FieldByName("IP2").AsString:=FormMain.EditRangeI P5.Text+"."+FormMain.EditRangeIP6.Text+"."+FormMain.EditRangeIP7.Text+"."+FormMain.EditRangeIP8.Text;
DataModuleMain.IBDataSetRANGEIP.FieldByName("FLAGIS").AsInteger:=1;
DataModuleMain.IBDataSetRANGEIP.Post;
Удаляю запись:if DataModuleMain.IBDataSetRANGEIP.FieldByName("ID_RANGEIP").Value<>null then
begin
DataModuleMain.IBDataSetRANGEIP.Delete;
DataModuleMain.IBDataSetRANGEIP.open;
end;
Всё вышеперечисленное работает нормально. и коммитится сразу, а checkBox сохраняется не на всех записях
← →
Sergey13 © (2010-08-13 16:11) [6]> [5] Alekcey © (13.08.10 15:53)
> Всё вышеперечисленное работает нормально. и коммитится сразу,
> а checkBox сохраняется не на всех записях
Во всем вышеперечисленном нет кода установки/переустановки флага.
← →
Alekcey © (2010-08-13 16:28) [7]а никакой код и не писал
CheckBoxces в true
и
в KeyList 1 и 0
← →
Sergey13 © (2010-08-16 13:32) [8]> [7] Alekcey © (13.08.10 16:28)
> а никакой код и не писал
> [5] Alekcey © (13.08.10 15:53)
> добавляю запись:
> Удаляю запись:
После чего именно
> checkBox сохраняется не на всех записях
?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.071 c