Поиск:

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


Новичок



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

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



Проблема в том что edit-ов слишком много поэтому if запинаеться что можно сделать в данном случае?
Код

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()&&E10->Text.IsEmpty()&&E11->Text.IsEmpty()&&E12->Text.IsEmpty()&&E13->Text.IsEmpty()&&E14->Text.IsEmpty()&&E15->Text.IsEmpty()&&E16->Text.IsEmpty()&&E17->Text.IsEmpty()&&E18->Text.IsEmpty()&&E19->Text.IsEmpty()&&E20->Text.IsEmpty()&&E21->Text.IsEmpty()&&E22->Text.IsEmpty()&&E23->Text.IsEmpty()&&E24->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()&&E35->Text.IsEmpty()&&E36->Text.IsEmpty()&&E37->Text.IsEmpty()&&E38->Text.IsEmpty()&&E39->Text.IsEmpty()&&E40->Text.IsEmpty()&&E41->Text.IsEmpty()))
{
DataModule2->ADOTable8->Insert();
DataModule2->ADOTable8->FieldByName("Vid_doc")->AsString=Trim(E7->Text);
DataModule2->ADOTable8->FieldByName("Seriya")->AsString=Trim(E8->Text);
DataModule2->ADOTable8->FieldByName("Num")->AsString=Trim(E9->Text);
DataModule2->ADOTable8->FieldByName("Date_poluch")->AsString=DateToStr(DateTimePicker2->Date);
DataModule2->ADOTable8->FieldByName("Srok_dstva")->AsString=DateToStr(DateTimePicker3->Date);
DataModule2->ADOTable8->Post();

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

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

else
        {
        E14->Text="Нет";
        DataModule2->ADOTable9->FieldByName("Proff")->AsString=Trim(E14->Text);
        }
DataModule2->ADOTable9->FieldByName("Cel_vda")->AsString=Trim(E15->Text);
DataModule2->ADOTable9->FieldByName("D_post_migruch")->AsString=DateToStr(DateTimePicker8->Date);
DataModule2->ADOTable9->FieldByName("D_okon_migruch")->AsString=DateToStr(DateTimePicker9->Date);
DataModule2->ADOTable9->FieldByName("D_okon_srdest_v")->AsString=DateToStr(DateTimePicker10->Date);
DataModule2->ADOTable9->Post();


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

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

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

DataModule2->ADOTable7->Insert();
DataModule2->ADOTable7->FieldByName("Fm")->AsString=Trim(E1->Text);
DataModule2->ADOTable7->FieldByName("Im_Ot")->AsString=Trim(E2->Text);
DataModule2->ADOTable7->FieldByName("Rgde")->AsString=DateToStr(DateTimePicker1->Date);
DataModule2->ADOTable7->FieldByName("Gender")->AsString=Trim(CB1->Text);
DataModule2->ADOTable7->FieldByName("Gragd")->AsString=Trim(E4->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gos")->AsString=Trim(E5->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gor")->AsString=Trim(E6->Text);
DataModule2->ADOTable7->FieldByName("id_doc")->AsInteger=DataModule2->ADOTable8->FieldByName("id_doc")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id")->AsInteger=DataModule2->ADOTable10->FieldByName("Id")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_admit")->AsInteger=DataModule2->ADOTable11->FieldByName("Id_admit")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_ind")->AsInteger=DataModule2->ADOTable12->FieldByName("Id_ind")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_visa_doc")->AsInteger=DataModule2->ADOTable9->FieldByName("Id_visa_doc")->AsInteger;
DataModule2->ADOTable7->Post();
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->ADOTable7->Delete();
DataModule2->ADOTable8->Delete();
DataModule2->ADOTable9->Delete();
DataModule2->ADOTable10->Delete();
DataModule2->ADOTable11->Delete();
DataModule2->ADOTable12->Delete();
}
catch (...)
{
MessageDlg("Неопознанная ошибка!",mtError,TMsgDlgButtons()<<mbOK,0);
}


PM MAIL   Вверх
Kakadu
Дата 16.8.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ты наверняка TEdit'ы пихаешь на форму из GUI. Попробуй руками при инициализации формы создавать их, причем не просто по именам, а в виде массива. Это конечно несколько запарно после GUI проектирования, но осваивать надо.  smile имхо

Это сообщение отредактировал(а) Kakadu - 16.8.2008, 14:22


--------------------
Добрые мариносы долго кормили украдкой маленьких зерлингов. От этой украдки зерлинги пухли и дохли
PM MAIL   Вверх
Alca
Дата 16.8.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

Попробуй руками при инициализации формы создавать их

А смысл?
Что значит запинается?

Это сообщение отредактировал(а) Alca - 16.8.2008, 20:08


--------------------
PM WWW ICQ Skype Jabber   Вверх
mrbrooks
Дата 16.8.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



мамин парень!!!  smile  жесть. мне даж смотреть страшно  smile особенно не ясен вопрос автора.
PM MAIL   Вверх
Mayk
Дата 16.8.2008, 22:16 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

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



всё нижесказанное имхо:

не понятно зачем переменные именованы как попало (adotable<N>, E<N> где <N> - числа )
не понятно почему при неопознанной ошибке  не происходит откат уже созданных записей.
не понятно почему нельзя сделать всё внутри транзакции. или их бд не поддерживает?
не знаю как там работает этот ado -  но если при откате ф-ция adotableN->Delete кинет исключение, то adotable(N+1)->Delete не вызовется. так и надо, или TAdoTable не кидает исключений вообще? 

и ещё советую почитать про рефакторинг - ф-цию можно  разбить как минимум на шесть ф-ций: fillAdoTable<N> (<N> = 7,8,9,10,11,12)

Цитата(mrbrooks @  17.8.2008,  01:23 Найти цитируемый пост)
особенно не ясен вопрос автора.

по-моему автор просит code review



Цитата(xDD @  16.8.2008,  17:52 Найти цитируемый пост)
поэтому if запинаеться что можно сделать в данном случае?

что означает "if запинается"?
Кстати,  об if'ах
в 
Код

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

не ясен кусок
Код

        DataModule2->ADOTable12->FieldByName("Title")->AsString=Trim(E39->Text);
        DataModule2->ADOTable12->FieldByName("F_adress")->AsString=Trim(E40->Text);
        DataModule2->ADOTable12->FieldByName("INN")->AsString=Trim(E41->Text);

 не видно чтобы в else ветке в adotable12 что-то записывалось посредством insert/post как делается в других местах. поэтому зачем там присваивания магическому значению "нет" не совсем понятно.  вообще наличие магического значения "нет" в базе данных не совсем понятно.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
xDD
Дата 16.8.2008, 23:00 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Alca @ 16.8.2008,  20:05)
Цитата

Попробуй руками при инициализации формы создавать их

А смысл?
Что значит запинается?

Запинаеться значит не реагирует если данные не внесены то он должен по else выдать сообщение что данные не внесены а он тупо говорит, что поле не должно быть пустым, значит просто не реагирует на условие, но сначала при нескольких контрольных проверках  код работал а потом загадочным образом перестал. Если кто то знает как решить эту проблему, собсно из-за чего и создавалась тема то большое спасибо!

Добавлено через 1 минуту и 35 секунд
Цитата(mrbrooks @ 16.8.2008,  21:23)
мамин парень!!!  smile  жесть. мне даж смотреть страшно  smile особенно не ясен вопрос автора.

Эти коменты особенно уместны(
PM MAIL   Вверх
jonie
Дата 17.8.2008, 18:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



у нас в проекте где я работаю есть форма на которой более 900 контролов ввода (да, это ппц - 5-ть уровней вложений tabcontrol-ов, если не больше).

они пересчитываются динамически все.
что придумали до нас: контролы делаются динамически (используется Spread компании Farpoint).
каждый контрол описывается как {группа, имя кнтрола, формула расчетов при изменении, связь с базой (запрос sql), условие валидности значения (формула)}.
написан простенький язык формулы понимающий указанные. пересчет идет используя топологическую сортировку. когда жмякается save то проверяются все условия, если все ок, то следует создание огромного sql скрипта фактически, который оборачивается в одну транзакцию и выполняется....

может наведет на какие мысли... та попа, что описана выше (а автора топика) в дальнейшем принесет не мало геммороя имхо


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Mayk
Дата 17.8.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

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



Цитата(xDD @  17.8.2008,  03:00 Найти цитируемый пост)
Если кто то знает как решить эту проблему, собсно из-за чего и создавалась тема то большое спасибо!

при проходе дебагером сейчас что происходит? 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
xDD
Дата 18.8.2008, 00:46 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все работает а дело то было  в том что не "&&" ставить надо было а "||" smile 
Выглядит все теперь так:
Код

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()
||E10->Text.IsEmpty()||E11->Text.IsEmpty()||E12->Text.IsEmpty()
||E13->Text.IsEmpty()||E14->Text.IsEmpty()||E15->Text.IsEmpty()||E16->Text.IsEmpty()
||E17->Text.IsEmpty()||E18->Text.IsEmpty()||E19->Text.IsEmpty()||E20->Text.IsEmpty()
||E21->Text.IsEmpty()||E22->Text.IsEmpty()||E23->Text.IsEmpty()||E24->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()||E35->Text.IsEmpty()||E36->Text.IsEmpty()
||E37->Text.IsEmpty()||E38->Text.IsEmpty()||E39->Text.IsEmpty()||E40->Text.IsEmpty()
||E41->Text.IsEmpty()))
{
DataModule2->ADOTable8->Insert();
DataModule2->ADOTable8->FieldByName("Vid_doc")->AsString=Trim(E7->Text);
DataModule2->ADOTable8->FieldByName("Seriya")->AsString=Trim(E8->Text);
DataModule2->ADOTable8->FieldByName("Num")->AsString=Trim(E9->Text);
DataModule2->ADOTable8->FieldByName("Date_poluch")->AsString=DateToStr(DateTimePicker2->Date);
DataModule2->ADOTable8->FieldByName("Srok_dstva")->AsString=DateToStr(DateTimePicker3->Date);
DataModule2->ADOTable8->Post();

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

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

else
        {
        E14->Text="Нет";
        DataModule2->ADOTable9->FieldByName("Proff")->AsString=Trim(E14->Text);
        }
DataModule2->ADOTable9->FieldByName("Cel_vda")->AsString=Trim(E15->Text);
DataModule2->ADOTable9->FieldByName("D_post_migruch")->AsString=DateToStr(DateTimePicker8->Date);
DataModule2->ADOTable9->FieldByName("D_okon_migruch")->AsString=DateToStr(DateTimePicker9->Date);
DataModule2->ADOTable9->FieldByName("D_okon_srdest_v")->AsString=DateToStr(DateTimePicker10->Date);
DataModule2->ADOTable9->Post();


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

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

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

DataModule2->ADOTable7->Insert();
DataModule2->ADOTable7->FieldByName("Fm")->AsString=Trim(E1->Text);
DataModule2->ADOTable7->FieldByName("Im_Ot")->AsString=Trim(E2->Text);
DataModule2->ADOTable7->FieldByName("Rgde")->AsString=DateToStr(DateTimePicker1->Date);
DataModule2->ADOTable7->FieldByName("Gender")->AsString=Trim(CB1->Text);
DataModule2->ADOTable7->FieldByName("Gragd")->AsString=Trim(E4->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gos")->AsString=Trim(E5->Text);
DataModule2->ADOTable7->FieldByName("M_rogd_gor")->AsString=Trim(E6->Text);
DataModule2->ADOTable7->FieldByName("id_doc")->AsInteger=DataModule2->ADOTable8->FieldByName("id_doc")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id")->AsInteger=DataModule2->ADOTable10->FieldByName("Id")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_admit")->AsInteger=DataModule2->ADOTable11->FieldByName("Id_admit")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_ind")->AsInteger=DataModule2->ADOTable12->FieldByName("Id_ind")->AsInteger;
DataModule2->ADOTable7->FieldByName("Id_visa_doc")->AsInteger=DataModule2->ADOTable9->FieldByName("Id_visa_doc")->AsInteger;
DataModule2->ADOTable7->Post();
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->ADOTable7->Delete();
DataModule2->ADOTable8->Delete();
DataModule2->ADOTable9->Delete();
DataModule2->ADOTable10->Delete();
DataModule2->ADOTable11->Delete();
DataModule2->ADOTable12->Delete();
}
catch (...)
{
MessageDlg("Неопознанная ошибка!",mtError,TMsgDlgButtons()<<mbOK,0);
}


PM MAIL   Вверх
petlyura
Дата 18.8.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

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



А в цикле нельзя ли было проверку устроить, особенно, если будешь добавлять еще контролы, а то выглядит не очень

Код

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()
||E10->Text.IsEmpty()||E11->Text.IsEmpty()||E12->Text.IsEmpty()
||E13->Text.IsEmpty()||E14->Text.IsEmpty()||E15->Text.IsEmpty()||E16->Text.IsEmpty()
||E17->Text.IsEmpty()||E18->Text.IsEmpty()||E19->Text.IsEmpty()||E20->Text.IsEmpty()
||E21->Text.IsEmpty()||E22->Text.IsEmpty()||E23->Text.IsEmpty()||E24->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()||E35->Text.IsEmpty()||E36->Text.IsEmpty()
||E37->Text.IsEmpty()||E38->Text.IsEmpty()||E39->Text.IsEmpty()||E40->Text.IsEmpty()
||E41->Text.IsEmpty()))

PM MAIL   Вверх
Alca
Дата 18.8.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

for (int i = 1; i < ComponentCount; i ++) {
    AnsiString asClassName           = Components[i]->ClassName();
    AnsiString asParentComponentName = "";
    if (Components[i]->HasParent() && asClassName == "TEdit") {
        asParentComponentName = Components[i]->GetParentComponent()->Name;
        if (asParentComponentName == "frmMain") {
            if (((TEdit *)Components[i])->Text.IsEmpty() == true) {
                //...
            }
        }
    }
}



--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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