![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть такая задача:
3 таблицы (dbgrid1,dbgrid2,dbgrid3) Пользователь выделяет в dbgrid1 и dbgrid3 необходимые ему записи (по одной в каждой таблице) и при нажатии на кнопку определённое поле например id_dbgrid1 и id_dbgrid3 попадали в новую запись (в определённые поля) dbgrid2 и сохранялись в БД на firebirde. Покажите пример хотя бы... Заранее спасибо! |
|
#2
|
||||
|
||||
|
вот как-то так
Код:
Grid2.DataSource.DataSet.Edit;
Grid2.DataSource.DataSet.FieldByName('pole1').Value := Grid1.DataSource.DataSet.FieldByName('id').Value;
Grid2.DataSource.DataSet.FieldByName('pole3').Value := Grid3.DataSource.DataSet.FieldByName('id').Value;
Grid2.DataSource.DataSet.Post;и да, с данными работает Table, Query, DataSet, а DBGrid только отображает результат их работы Последний раз редактировалось Yurk@, 23.06.2013 в 10:46. |
|
#3
|
||||
|
||||
|
О ужас.
Заведите себе хорошую привычку работать с базой через запросы, а не через аппенды и посты. |
|
#4
|
|||
|
|||
|
Спасибо!
Вот у меня что получилось: Код:
procedure TNew_office_contact.Button1Click(Sender: TObject);
begin
with DataModule1.IBQuery6 do
begin
SQL.Text:= 'insert into office_contacts (oc_o_id, oc_cntt_id, oc_contact) values ( :oc_o_id, :oc_cntt_id, :oc_contact)';
ParamByName('oc_o_id').AsString:=DataModule1.IBQuery1DB1.FieldByName('O_ID').AsString;
ParamByName('oc_cntt_id').AsString:= vartostr(DBLookupComboBox1.KeyValue);
ParamByName('oc_contact').AsString:=Edit1.Text;
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=false
end;
DataModule1.IBQuery6.Close;
DataModule1.IBQuery6.Open;
end;Project Project1.exe raised exemption class EIBInterBaseError with message 'violation of PRIMARY or UNIQUE KEY constraint "PK_OFFICE_CONTACTS' on table "OFFICE_CONTACTS". Process stopped и бла бла бла... Последний раз редактировалось sAVe, 03.07.2013 в 09:35. |
|
#5
|
|||
|
|||
|
блин, дурацкие смайлы, как их отключить?
разобрался )Последний раз редактировалось sAVe, 03.07.2013 в 09:35. |
|
#6
|
|||
|
|||
|
А вот это зачем?
DataModule1.IBQuery6.Close; DataModule1.IBQuery6.Open; |
| Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
sAVe (03.07.2013)
| ||