Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2015, 14:59   #1
TYMON
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 80
По умолчанию Редактирование после поиска

Делаю такой алгоритм:

1. Нашли данные по нажатию:

Код:
void __fastcall Tfrm_category::Button_poiskClick(TObject *Sender)
{
String poisk_cat=" ";
DataSource_category->DataSet=ADOTable_category;
//задаем условие для поля "nazvanie"
if (!Edit_cat->Text.IsEmpty())
 {
 if (poisk_cat!=" ")
 {
  poisk_cat=poisk_cat+"AND category LIKE '%"+Edit_cat->Text+"%' ";
  }
	  else
   {
	poisk_cat=poisk_cat+"category LIKE '%"+Edit_cat->Text+"%' ";
    }
  }

	 if (poisk_cat!=" ")
{
    //формируем текст запроса
	ADOQuery_category->Active=false;
	ADOQuery_category->SQL->Clear();
	ADOQuery_category->SQL->Add("select category.* from acz.category where "+poisk_cat);
	//активируем запрос (отбираем данные)
	ADOQuery_category->Active=true;
    //соединяем запрос с сеткой (для отображения найденных данных)
	DataSource_category->DataSet=ADOQuery_category;
	  ADOTable_category->Active=false;
		ADOTable_category->Active=true;
	  Button_dobavit->Enabled=false;
		  DBGrid_category->ReadOnly=true;
			  DBGrid_category->Columns->Items[0]->Visible=false;
	DBGrid_category->Columns->Items[1]->Title->Caption="Категория";
	 DBGrid_category->Columns->Items[1]->Alignment=taCenter;
	 DBGrid_category->Columns->Items[1]->Width=484;


	 }
}
2. Пытаемся отредактировать:

Код:
void __fastcall Tfrm_category::Button_izmenitClick(TObject *Sender)
{
//редактирование данных
ADOTable_category->Edit();
	frm_dobavlenie_category = new Tfrm_dobavlenie_category(Application);
   frm_dobavlenie_category->ShowModal();
	frm_dobavlenie_category->Repaint();
}
3. Открывается форма для редактирования, вводим данные в DBEdit и жмем сохранить.

Код:
void __fastcall Tfrm_dobavlenie_category::Button_sohrClick(TObject *Sender)
{
if (DBEdit1->Text.IsEmpty())
{
	   Application->MessageBoxW((const wchar_t*) L"Поле не может быть пустым!! Введите пожалуйста данные ", (const wchar_t*) L"Ошибка ввода!",MB_OK+MB_ICONSTOP);
   
	}
     //если все заполнены
    else
    {
	  //сохраняем запись
	  frm_category->ADOTable_category->Post();

        //закрываем страничную форму
	 frm_dobavlenie_category->Close();
	}
	frm_category->Button_poiskClick(Sender);
}
Так вот не сохраняются данные в режиме поиска. Как сделать правильно?
TYMON вне форума Ответить с цитированием
Старый 18.05.2015, 15:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ADOTable_category->Edit();
frm_dobavlenie_category = new Tfrm_dobavlenie_category(Applicatio n);
Я бы вызов Edit переместил в frm_dobavlenie_category.
Скажем в OnCreate. Но это так. Косметика, не факт что даст результат, просто когда-то я с подобной болячкой DB компонент сталкивался, когда режим редактирования при определенных условиях отключался.
Цитата:
frm_category->ADOTable_category
А вот этот компонент я бы вынес в DataModule. В Билдере по идее тоже должен быть как и в Делфи такой тип модуля. И уже к нему бы настроил обращение из форм.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2015, 18:11   #3
TYMON
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 80
По умолчанию

Так а как тогда быть с методом Insert() если идет просто добавление данных? Ну хотя можно конечно передавать данные но надо проверить поможет оно или нет

Последний раз редактировалось TYMON; 18.05.2015 в 18:14.
TYMON вне форума Ответить с цитированием
Старый 18.05.2015, 18:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я не знаю как тебе с чем быть. Я знаю только то, что у тебя что-то не правильно. Кода твоего я не видел.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
редактирование после экспорта из екселя в ворд artut34 Microsoft Office Excel 1 20.03.2015 21:08
Методы редактирование страниц после загрузки Fahman Общие вопросы Delphi 8 04.08.2014 17:44
Удаление файла после поиска sli-pro Общие вопросы Delphi 1 25.04.2012 18:47
Фокусировка на ячейке после поиска sergantikus Microsoft Office Excel 7 17.02.2011 20:27
подгрузка файлов после заполнения формы поиска mamant1 JavaScript, Ajax 0 05.06.2010 04:12