Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBGrig фокус на добавленую запись, INSERT -> DBGrig фокус 
:(
    Опции темы
osmus
Дата 20.2.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте!

Такой вопрос: я делаю INSERT в таблицу и мне нужно, что бы после успешного ввода,  DBGrig выделил введенную запись

PM MAIL   Вверх
Anikmar
Дата 20.2.2009, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



После Insert запомнить ключик добавленной записи и в DBGrid перейти на него.
Вы какой тип ключика используете?
PM MAIL ICQ   Вверх
osmus
Дата 20.2.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Это понятно... Но не понятно как перейти(фокус) на строку.

Вы какой тип ключика используете?
В MySQL: id - primary and unique

DBGrid  у меня отображает данные запроса, в который входит таблица добавленной записи.

Что мне нужно делать в билдере чтобы сфокусировать строку я не знаю :(

PM MAIL   Вверх
Anikmar
Дата 20.2.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(osmus @  20.2.2009,  22:50 Найти цитируемый пост)
DBGrid  у меня отображает данные запроса, в который входит таблица добавленной записи.

После сохранения записи надо ее запомнить (запомнить ее ключ). К сожалению с мускулом не работал, поэтому навскидку не могу сказать точнее.

Запрос перевывести.

А дальше использовать метод Locate и перейти на вновь созданую запись.



PM MAIL ICQ   Вверх
osmus
Дата 20.2.2009, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все понятно, но чето не получается:

user posted image
Это получилось при наведении на locate...
 
PM MAIL   Вверх
Alca
Дата 20.2.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Применение ADO для работы с БД (C++ Builder)

Добавлено @ 23:49
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 ADOTable1->Locate(ComboBox1->Text,Edit1->Text,[loCaseInsensitive]);
//здесь по указанному в Combo полю ищем значении из Edit. Все просто
//loCaseInsensitive - это поиск без ориентации на строчные и прописные буквы
}


Цитата

Это получилось при наведении на locate... 

Код

TLocateOptions loOpts    = TLocateOptions() << loPartialKey << loCaseInsensitive;


Это сообщение отредактировал(а) Alca - 20.2.2009, 23:51


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


Шустрый
*


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

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



Не че не могу понять smile 
По одному столбцу работает, а по другому не хочет.
К примеру по id не хочет, а по number работает .....
В проге разиницы в этих полях нет....
А вот в MySQL   есть  id - intger, а number - char(4).....

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


Эксперт
****


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

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



код покаж, телепатов нет  smile 


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


Эксперт
****


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

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



Locate по первичному ключу работает.
Наврал.
По текущему установленному.

Это сообщение отредактировал(а) Anikmar - 21.2.2009, 01:01
PM MAIL ICQ   Вверх
osmus
Дата 21.2.2009, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Anikmar @ 21.2.2009,  00:59)
Locate по первичному ключу работает.
Наврал.
По текущему установленному.

попутный вопрос:как установить в ADOQuery ключ?

Добавлено @ 02:12
Цитата(Alca @ 21.2.2009,  00:58)
код покаж, телепатов нет  smile

Уже показывал
Код

TLocateOptions SOpt;
SOpt.Clear();
SOpt <<loCaseInsensitive;
MDIISTOK->Query->Locate("id", 89, SOpt);

не работает
Код

TLocateOptions SOpt;
SOpt.Clear();
SOpt <<loCaseInsensitive;
MDIISTOK->Query->Locate("number", 45, SOpt);

работает

и то что выше:
К примеру по id не хочет, а по number работает .....
В проге разиницы в этих полях нет....[/B]
А вот в MySQL   есть  id - intger, а number - char(4).....


Это сообщение отредактировал(а) osmus - 21.2.2009, 02:13
PM MAIL   Вверх
Anikmar
Дата 21.2.2009, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Когда-то давно, в эпоху BDE...
Нашел свою старую функцию, которая вроде как ищет запись по любому полю. Выглядела она так:
Код

bool FindForField(TTable *Table, char *Field, Variant Val)
{
    bool Ret;
    char Field1[100];
    sprintf(Field1,"%s;%s",Field,Field);
    TLocateOptions Opts;
    Variant locvalues[2];
    Opts.Clear();
    locvalues[0] = Val;
    locvalues[1] = Val;
    Ret =  Table -> Locate(Field1,VarArrayOf(locvalues,1), Opts);
    return Ret;
}


Правда датирована примерно 2002 годом, но может чем поможет?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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