Доброе время суток. Столкнулся с такой проблемой. Есть компонент DBLookupCombobox настроен следующим образом:
DataField - kod_oblas | Таблица для записи параметров
DataSource - DM2.DSAdress |
KeyField - kod_oblas | Таблица откуда берутся данные
ListField - name |
ListSource - DM2.DSOblast |
* DM - DataModule
DSOblast - DataSource
В таблицу Adress должно вводиться данные (Index) с таблицы Oblas.
Есть процедура которая добавляет данные в таблицу Adress. При таком коде в таблицу вбиваются данные, но они меняют первую строку постоянно, т.е. данные которые заносятся в таблицу не записываются в новую строку, а меняет первую строку в таблице.
DM2.ADOTAdress.Insert;
DM2.ADOTOblast.Insert;
DM2.ADOTRaion.Insert;
DM2.ADOTNasPunkt.Insert;
DM2.ADOTUlica.Insert;
Как сделать так чтобы при использование DBLookupCombobox данные заносились бы в новую строку таблицы?
P.S.
Еще один вопрос: Можно ли записывающий параметр DataField использовать в хранимой процедуре для передаче его значения в параметр хранимой процедуры? :
DM2.Connection.BeginTrans;
with DM2.ADOSPAdress do
begin
Parameters.ParamByName('@kod_adress_1').Value:=DBLFioID.DataField;
Parameters.ParamByName('@kod_nas_punkt_2').Value:=DBLNasPunktID.DataField;
Parameters.ParamByName('@kod_raion_3').Value:=DBLRaionID.DataField;
Parameters.ParamByName('@kod_ulica_4').Value:=DBLUlicaID.DataField;
Parameters.ParamByName('@kod_oblas_5').Value:=DBLOblastID.DataField;
end;
DM2.ADOSPAdress.ExecProc;
DM2.Connection.CommitTrans;
except
DM2.Connection.RollbackTrans;
ShowMessage('Íåâîçìîæíî âûïîëíèòü. Ïîâòîðèòå!');
end; }
т.е. лучше было бы использовать запись в таблицу через хранимую процедуру и DBLookupComboBox
Модератор: Тема перенесена из форума "Microsoft SQL Server". |