Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите определить ошыбку в коде, Кому не лень, а то с этим сижу уже 4 ден 
:(
    Опции темы
Killer_13
  Дата 4.2.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Господа програмисты, - прошу вас помочь мне разобраться где ошыбка (что я не так сделал).
Вот уже где-то 3-4 дня не могу придумать как сделать следующее.

Есть у меня код который вставлен в событие "DBGrid2KeyDown"

Код
void __fastcall TForm1::DBGrid2KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if((Key==9)&&(DBGrid2->DataSource->DataSet->State==dsInsert)&&(DBGrid2->SelectedField->FieldName == "Id_towaru" ))
{
Table2->Refresh();

TLocateOptions SearchOptions;
        SearchOptions;  loPartialKey ; loCaseInsensitive ;
        Table1->Locate("Id_towaru",DBGrid2->Fields[1]->Value,SearchOptions);
if (DBGrid2->Fields[1]->Value == Table1Id_towaru->Value)
{
Table2->Edit();
DBGrid2->Fields[2]->AsString = Table1Nazwa_towaru->AsString;
}
else
{
Table1->Refresh();
Table1->Insert();
Table1Id_towaru->Value = Table2Id_towaru->Value;
Table1Nazwa_towaru->Value = Table2Nazwa_towaru->Value;
Table1Kilkist->Value = Table2Kilkist->Value;
Table1Metry->Value = Table2Metry->Value;
Table1Zakup_cina->Value = Table2Zakup_cina->Value;
Table1Widpusk_cina->Value = Table2Widpusk_cina->Value;
Table1->Post();
}
}
}


Где проверяется нажатие клавиши таб, активность кнопки ДБНавигатора, и выделено ли поле "Id_towaru".
Если это все подтверждается, - то в Таблице1 ищется код который введен в поле "Id_towaru" и вствляется его назва.

Вот эта строчка

Код
Table2->Edit();
DBGrid2->Fields[2]->AsString = Table1Nazwa_towaru->AsString;


Далее, - если код введенный в поле "Id_towaru" не совпадает с полем в таблице 1. то хочу чтоб добавляло товую строку в Табле1.
Без оператора else 

Код
else
{
Table1->Refresh();
Table1->Insert();
Table1Id_towaru->Value = Table2Id_towaru->Value;
Table1Nazwa_towaru->Value = Table2Nazwa_towaru->Value;
Table1Kilkist->Value = Table2Kilkist->Value;
Table1Metry->Value = Table2Metry->Value;
Table1Zakup_cina->Value = Table2Zakup_cina->Value;
Table1Widpusk_cina->Value = Table2Widpusk_cina->Value;
Table1->Post();
}


все работает, - но почему то добавляет все данные в Таблицу1 не добавляет только назву.
если присутствует оператор else - не компилится совсем.
Вот собственно с этим разобраться не могу.
 на событии BeforePost Таблицы 2 вот такой код.

Код
void __fastcall TForm1::Table2BeforePost(TDataSet *DataSet)
{
TLocateOptions SearchOptions;
        SearchOptions;  loPartialKey ; loCaseInsensitive ;
        Table1->Locate("Id_towaru",Table2Id_towaru->Value,SearchOptions);
if (Table2Id_towaru->Value == Table1Id_towaru->Value)
{
Table1->Refresh();
Table1->Edit();
Table1Kilkist->Value = Table1Kilkist->Value + Table2Kilkist->Value;
Table1Metry->Value = Table1Metry->Value + Table2Metry->Value;
Table1Zakup_cina->Value = Table2Zakup_cina->Value;
Table1Widpusk_cina->Value = Table2Widpusk_cina->Value;
Table1->Post();
}
else
{
Table1->Refresh();
Table1->Insert();
Table1Id_towaru->Value = Table2Id_towaru->Value;
Table1Nazwa_towaru->Value = Table2Nazwa_towaru->Value;
Table1Kilkist->Value = Table2Kilkist->Value;
Table1Metry->Value = Table2Metry->Value;
Table1Zakup_cina->Value = Table2Zakup_cina->Value;
Table1Widpusk_cina->Value = Table2Widpusk_cina->Value;
Table1->Post();
}

}


Кому не лень, - взгляните, - может кто какую идейку подкинет.

PM MAIL   Вверх
Comm
Дата 6.2.2008, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А что это за строчки ?
" TLocateOptions SearchOptions; SearchOptions;  loPartialKey ; loCaseInsensitive ;"

Разве объявления перечисляются не через запятую ?
" TLocateOptions SearchOptions, SearchOptions,loPartialKey ,loCaseInsensitive ;"

Это сообщение отредактировал(а) Comm - 6.2.2008, 11:26


--------------------
=)))))
user posted image
PM MAIL ICQ   Вверх
Crash512
Дата 14.2.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ошибка в слове "ошЫбка"..=))
PM MAIL ICQ   Вверх
Rodman
Дата 14.2.2008, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(Killer_13 @  4.2.2008,  19:41 Найти цитируемый пост)
если присутствует оператор else - не компилится совсем.

какие симптомы?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Killer_13
Дата 14.2.2008, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Уже разобрался с этим, спасибо всем кто отозвался, - я елсе неправильно строил.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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