Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение значений в DBGrid, Варианты обновления информации в DBGrid 
:(
    Опции темы
xtehbx
Дата 4.12.2011, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вопрос:
Есть ли варианты обновить информацию в DBGrid без использования  DBGrid1.DataSource.DataSet.Refresh, или закрытия/открытия датасета ??

Ситуация:
Есть dbgrid в котором данные обновляются по клику кнопки расположенной на форме.
После клика идет запрос на Update, а после идет Refresh который посылает Select запрос к базе и данные всем скопом грузятся заново.


Можно ли не делать селектовый запрос к базе, а просто переписать значение в ячейке если Update запрос не выдал ошибки ??

Или нужно использоваться StringGrid  и все делать ручками ??
PM MAIL   Вверх
Данкинг
Дата 4.12.2011, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(xtehbx @  4.12.2011,  12:43 Найти цитируемый пост)
Можно ли не делать селектовый запрос к базе, а просто переписать значение в ячейке если Update запрос не выдал ошибки ??

Нельзя, т.к. данные из ячеек берутся непосредственно из датасета.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
xtehbx
Дата 4.12.2011, 12:52 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А для чего такой подход ?? На каждый апдейт долбить селектовым запросом этож тупость, ну кроме случая если бд на локалхосте ) ??

Ну а сам дата сет как нибудь подправить можно ?

DBGrid1.DataSource.DataSet.Fields[0].AsString:= 0; Аля так ?
PM MAIL   Вверх
Данкинг
Дата 4.12.2011, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Ну, по логике, если в гриде данные запроса, то как ещё можно обновить их кроме как перевыбрать тем же запросом?
Цитата(xtehbx @  4.12.2011,  13:52 Найти цитируемый пост)
DBGrid1.DataSource.DataSet.Fields[0].AsString:= 0; Аля так ? 

Только "0" в кавычки взять не забудь. smile Но я всё равно не понял смысла данной строки: ну, внёс ты 0 в строку датасата -  и что дальше-то?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
xtehbx
Дата 4.12.2011, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пример не рабочий ))
Я просто привел пример того чего хотелось бы ))

Придется StringGrid рисовать, если никто не поделиться секретиком )
PM MAIL   Вверх
xtehbx
Дата 4.12.2011, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Это делается вот так вот:

  DBGrid1.DataSource.DataSet.Edit;
  DBGrid1.DataSource.DataSet.FieldByName('date').AsDateTime:= now();
  DBGrid1.DataSource.DataSet.Post;

Refresh придумали мазахисты :-D 


Тема CLOSED  :wizard
PM MAIL   Вверх
Akella
Дата 4.12.2011, 18:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(xtehbx @  4.12.2011,  11:43 Найти цитируемый пост)
Есть ли варианты обновить информацию в DBGrid


В DBGrid НЕТ информации.
PM MAIL   Вверх
Данкинг
Дата 4.12.2011, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(xtehbx @  4.12.2011,  16:06 Найти цитируемый пост)
Это делается вот так вот:

Как это связано с тем, что ты спрашивал? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Beltar
Дата 13.2.2012, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

DBGrid1.DataSource.DataSet.Refresh


Немного в оффтоп, но почему-то Refresh по крайней мере для TADOQuery работает заметно медленнее, чем Close и снова Open.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
superVad
Дата 13.2.2012, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Цитата(Beltar @  13.2.2012,  12:55 Найти цитируемый пост)
Немного в оффтоп, но почему-то Refresh по крайней мере для TADOQuery работает заметно медленнее, чем Close и снова Open.

Возможно он после открытия еще и позиционируется. Можно в  исходниках глянуть наверное, что по рефрешу происходит.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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