Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с таблицами, DCOM расширение 
:(
    Опции темы
xDD
Дата 16.9.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.8.2008

Репутация: нет
Всего: нет



Всем здрастье проблема такая, при внесении данных, данные заносятся только в одну таблицу из семи.
На клиенте: DCOMConnection1->
  • CDSet_pers_mat->DataSource1
  • CDSet_p_doc->DataSource2
  • CDSet_doc_visa->DataSource3
  • CDSet_d_reside->DataSource4
  • CDSet_inf_adm->DataSource5
  • CDSet_j_pers->DataSource6

На сервере: ADOConnection1->
  • pers_mat->DSetProv1
  • p_doc->DSetProv2
  • doc_visa->DSetProv3
  • d_reside->DSetProv4
  • inf_adm->DSetProv5
  • j_pers->DSetProv6


Код внесения данных:

Код

try
{
if (!(E1->Text.IsEmpty()||E2->Text.IsEmpty()||CB1->Text.IsEmpty()||E4->Text.IsEmpty()
||E5->Text.IsEmpty()||E6->Text.IsEmpty()||E7->Text.IsEmpty()||E9->Text.IsEmpty()
||E14->Text.IsEmpty()||E15->Text.IsEmpty()||E16->Text.IsEmpty()||E20->Text.IsEmpty()
||E22->Text.IsEmpty()||E23->Text.IsEmpty()||E25->Text.IsEmpty()
||E26->Text.IsEmpty()||E27->Text.IsEmpty()||E28->Text.IsEmpty()
||E29->Text.IsEmpty()||E30->Text.IsEmpty()||E32->Text.IsEmpty()
||E33->Text.IsEmpty()||E34->Text.IsEmpty()||E39->Text.IsEmpty()
||E40->Text.IsEmpty()||E41->Text.IsEmpty()))
{
DataModule2->CDSet_pers_mat->Insert();
DataModule2->CDSet_pers_mat->RecNo;
DataModule2->CDSet_pers_mat->FieldByName("Fm")->AsString=Trim(E1->Text);
DataModule2->CDSet_pers_mat->FieldByName("Im_Ot")->AsString=Trim(E2->Text);
DataModule2->CDSet_pers_mat->FieldByName("Rgde")->AsString=DateToStr(DateTimePicker1->Date);
DataModule2->CDSet_pers_mat->FieldByName("Gender")->AsString=Trim(CB1->Text);
DataModule2->CDSet_pers_mat->FieldByName("Gragd")->AsString=Trim(E4->Text);
DataModule2->CDSet_pers_mat->FieldByName("M_rogd_gos")->AsString=Trim(E5->Text);
DataModule2->CDSet_pers_mat->FieldByName("M_rogd_gor")->AsString=Trim(E6->Text);
DataModule2->CDSet_pers_mat->Post();

DataModule2->CDSet_p_doc->Insert();
DataModule2->CDSet_p_doc->FieldByName("id_doc")->AsInteger;
DataModule2->CDSet_p_doc->FieldByName("Vid_doc")->AsString=Trim(E7->Text);
DataModule2->CDSet_p_doc->FieldByName("Seriya")->AsString=Trim(E8->Text);
DataModule2->CDSet_p_doc->FieldByName("Num")->AsString=Trim(E9->Text);
DataModule2->CDSet_p_doc->FieldByName("Date_poluch")->AsString=DateToStr(DateTimePicker2->Date);
DataModule2->CDSet_p_doc->FieldByName("Srok_dstva")->AsString=DateToStr(DateTimePicker3->Date);
DataModule2->CDSet_p_doc->FieldByName("id_fio")->AsInteger=DataModule2->CDSet_pers_mat->FieldByName("id_fio")->AsInteger;
DataModule2->CDSet_p_doc->Post();

DataModule2->CDSet_doc_visa->Insert();
if (E10->Enabled==False)
DataModule2->CDSet_doc_visa->FieldByName("S_posl_v")->AsString="";
else
DataModule2->CDSet_doc_visa->FieldByName("S_posl_v")->AsString=Trim(E10->Text);
if (E11->Enabled==False)
DataModule2->CDSet_doc_visa->FieldByName("N_posl_v")->AsString="";
else
DataModule2->CDSet_doc_visa->FieldByName("N_posl_v")->AsString=Trim(E11->Text);
if (DateTimePicker4->Enabled==False)
DataModule2->CDSet_doc_visa->FieldByName("D_vid_posl_v")->AsString="";
else
DataModule2->CDSet_doc_visa->FieldByName("D_vid_posl_v")->AsString=DateToStr(DateTimePicker4->Date);
if (DateTimePicker5->Enabled==False)
DataModule2->CDSet_doc_visa->FieldByName("D_skot_dest_posl_v")->AsString="";
else
DataModule2->CDSet_doc_visa->FieldByName("D_skot_dest_posl_v")->AsString=DateToStr(DateTimePicker5->Date);
if (DateTimePicker6->Enabled==False)
DataModule2->CDSet_doc_visa->FieldByName("D_pokot_d_posl_v")->AsString="";
else
DataModule2->CDSet_doc_visa->FieldByName("D_pokot_d_posl_v")->AsString=DateToStr(DateTimePicker6->Date);
DataModule2->CDSet_doc_visa->FieldByName("D_posl_vda_v_stranu")->AsString=DateToStr(DateTimePicker7->Date);
DataModule2->CDSet_doc_visa->FieldByName("Sernom_migrkarti_posl_vda")->AsString=Trim(E12->Text);
DataModule2->CDSet_doc_visa->FieldByName("KPP_posl_vda")->AsString=Trim(E13->Text);
if (E14->Text!=""||E14->Text=="Нет")

        DataModule2->CDSet_doc_visa->FieldByName("Proff")->AsString=Trim(E14->Text);

else
        {
        E14->Text="Нет";
        DataModule2->CDSet_doc_visa->FieldByName("Proff")->AsString=Trim(E14->Text);
        }
DataModule2->CDSet_doc_visa->FieldByName("Cel_vda")->AsString=Trim(E15->Text);
DataModule2->CDSet_doc_visa->FieldByName("D_post_migruch")->AsString=DateToStr(DateTimePicker8->Date);
DataModule2->CDSet_doc_visa->FieldByName("D_okon_migruch")->AsString=DateToStr(DateTimePicker9->Date);
if (DateTimePicker10->Enabled==False)
DataModule2->CDSet_doc_visa->FieldByName("D_okon_srdest_v")->AsString="";
else
DataModule2->CDSet_doc_visa->FieldByName("D_okon_srdest_v")->AsString=DateToStr(DateTimePicker10->Date);
DataModule2->CDSet_doc_visa->FieldByName("Id_fio")->AsInteger=DataModule2->CDSet_pers_mat->FieldByName("id_fio")->AsInteger;
DataModule2->CDSet_doc_visa->Post();


DataModule2->CDSet_data_reside->Insert();
DataModule2->CDSet_data_reside->FieldByName("Oblast")->AsString=Trim(E20->Text);
DataModule2->CDSet_data_reside->FieldByName("Rn")->AsString=Trim(E21->Text);
DataModule2->CDSet_data_reside->FieldByName("City")->AsString=Trim(E22->Text);
DataModule2->CDSet_data_reside->FieldByName("Street")->AsString=Trim(E23->Text);
DataModule2->CDSet_data_reside->FieldByName("Dom")->AsString=Trim(E16->Text);
DataModule2->CDSet_data_reside->FieldByName("Korp")->AsString=Trim(E17->Text);
DataModule2->CDSet_data_reside->FieldByName("Stroenie")->AsString=Trim(E18->Text);
DataModule2->CDSet_data_reside->FieldByName("Kv")->AsString=Trim(E19->Text);
DataModule2->CDSet_data_reside->FieldByName("Tel")->AsString=E24->Text.Trim();
DataModule2->CDSet_data_reside->FieldByName("id_fio")->AsInteger=DataModule2->CDSet_pers_mat->FieldByName("id_fio")->AsInteger;
DataModule2->CDSet_data_reside->Post();

DataModule2->CDSet_info_adm->Insert();
DataModule2->CDSet_info_adm->FieldByName("Fm")->AsString=Trim(E25->Text);
DataModule2->CDSet_info_adm->FieldByName("Im_Ot")->AsString=Trim(E26->Text);
DataModule2->CDSet_info_adm->FieldByName("V_doc")->AsString=Trim(E27->Text);
DataModule2->CDSet_info_adm->FieldByName("Ser")->AsString=Trim(E28->Text);
DataModule2->CDSet_info_adm->FieldByName("Num")->AsString=Trim(E29->Text);
DataModule2->CDSet_info_adm->FieldByName("D_vid")->AsString=DateToStr(DateTimePicker11->Date);
DataModule2->CDSet_info_adm->FieldByName("Oblast")->AsString=Trim(E30->Text);
DataModule2->CDSet_info_adm->FieldByName("Rn")->AsString=Trim(E31->Text);
DataModule2->CDSet_info_adm->FieldByName("City")->AsString=Trim(E32->Text);
DataModule2->CDSet_info_adm->FieldByName("Street")->AsString=Trim(E33->Text);
DataModule2->CDSet_info_adm->FieldByName("Dom")->AsString=Trim(E34->Text);
DataModule2->CDSet_info_adm->FieldByName("Korp")->AsString=Trim(E35->Text);
DataModule2->CDSet_info_adm->FieldByName("Stroen")->AsString=Trim(E36->Text);
DataModule2->CDSet_info_adm->FieldByName("Kv")->AsString=Trim(E37->Text);
DataModule2->CDSet_info_adm->FieldByName("Tel")->AsString=E38->Text.Trim();
DataModule2->CDSet_info_adm->FieldByName("id_fio")->AsInteger=DataModule2->CDSet_pers_mat->FieldByName("id_fio")->AsInteger;
DataModule2->CDSet_info_adm->Post();

DataModule2->CDSet_j_per->Insert();
if (E39->Text!=""||E40->Text!=""||E41->Text!="")
        {
        DataModule2->CDSet_j_per->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->CDSet_j_per->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->CDSet_j_per->FieldByName("INN")->AsString=Trim(E41->Text);
        }
else
        {
        E39->Text="Нет";
        E40->Text="Нет";
        E41->Text="Нет";
        DataModule2->CDSet_j_per->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->CDSet_j_per->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->CDSet_j_per->FieldByName("INN")->AsString=Trim(E41->Text);
        }
DataModule2->CDSet_j_per->FieldByName("Id_fio")->AsInteger=DataModule2->CDSet_pers_mat->FieldByName("id_fio")->AsInteger;
DataModule2->CDSet_j_per->Post();

Label54->Caption = IntToStr(DataModule2->CDSet_pers_mat->ApplyUpdates(-1));
DataModule2->CDSet_pers_mat->ApplyUpdates(-1);
DataModule2->CDSet_p_doc->ApplyUpdates(-1);
DataModule2->CDSet_doc_visa->ApplyUpdates(-1);
DataModule2->CDSet_data_reside->ApplyUpdates(-1);
DataModule2->CDSet_info_adm->ApplyUpdates(-1);
DataModule2->CDSet_j_per->ApplyUpdates(-1);
Application->MessageBox("Данные успешно внесены!",Application->Title.c_str(),MB_OK|MB_ICONINFORMATION);
}
else
Application->MessageBox("Внесите все данные!",Application->Title.c_str(),MB_OK|MB_ICONINFORMATION);
}
catch (EDatabaseError&Err)
{
MessageDlg("Ошибка EDatabaseError!",mtError,TMsgDlgButtons()<<mbOK,0);
DataModule2->CDSet_pers_mat->Delete();
DataModule2->CDSet_data_reside->Delete();
DataModule2->CDSet_doc_visa->Delete();
DataModule2->CDSet_info_adm->Delete();
DataModule2->CDSet_j_per->Delete();

}
catch (...)
{
MessageDlg("Неопознанная ошибка!",mtError,TMsgDlgButtons()<<mbOK,0);
}


Подскажите пожалста в чем может быть дело, на ум  ничего не приходит.
PM MAIL   Вверх
xDD
Дата 17.9.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.8.2008

Репутация: нет
Всего: нет



При выполнении трассировки DataModule2->CDSet_pers_mat->FieldByName("id_fio")->AsInteger; значение равно ????. Тоисть не инициализированно, может быть потомучто не определяеться ид поле, поэтому в подчиненные ничего не записываеться. А тогда почему в ид поле ничего не записыветься непонятно(.
PM MAIL   Вверх
Anikmar
Дата 17.9.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 59



Цитата(xDD @  17.9.2009,  10:45 Найти цитируемый пост)
А тогда почему в ид поле ничего не записыветься непонятно(. 

А что туда должно записаться?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0988 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.