Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mysql+mydac+ehlib обновление записей в гриде 
:(
    Опции темы
maloicds
Дата 21.9.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Используется MySQL Server, MyDAC и DbGridEh для отображения информации. Все манипуляции с данными производятся через MyQuery с помощью запросов. Причём datasource.dataset=myquery. Как сделать чтоб при добавлении, удалении, изменении данных в гриде информация отображалась сразу. (как будто мы изменения сделали через dbnavigator). MyQuery.RefreshRecord не помогает, а обновлять всю таблицу долго.
PM MAIL   Вверх
superVad
Дата 22.9.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Используй не query, а dataset. И добавляй записи через него.
С MyDAC  не работал, но не думаю, что сильно отличается от других компонентов.
Заполняешь поля запросов на добавление, изменение и удаление в dataset. Потом dataset.append (или insert), заполняешь его поля и post. Возможно надо еще транзакцию стартовать и закомитить...

П.С. Посмотрел я на эти компоненты. Вроде нету там ДатаСета. Есть TMyTable - попробуй может его. Хотя в документации написано - Automatic data updating with TMyQuery, TMyTable, and TMyStoredProc components. Может там какие то примеры есть еще?

Это сообщение отредактировал(а) superVad - 22.9.2011, 11:29
PM MAIL   Вверх
maloicds
Дата 24.9.2011, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Попробовал через MyDataSource1.DataSet.AppendRecord всё ок, попробовал через myquery1.AppendRecord тоже всё работает. так что же лучше?
PM MAIL   Вверх
superVad
Дата 28.9.2011, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(maloicds @  24.9.2011,  20:15 Найти цитируемый пост)
Попробовал через MyDataSource1.DataSet.AppendRecord всё ок, попробовал через myquery1.AppendRecord тоже всё работает. так что же лучше?

Это одно и тоже - если в MyDataSource1.DataSet установлене myquery1. Второй вариант как то понятнее, если все на одной форме.
PM MAIL   Вверх
maloicds
Дата 28.9.2011, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ОК, спасибо!
PM MAIL   Вверх
chikistbuch
Дата 23.10.2011, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я вот не пойму, maloicds, ты что купил MyDAC или он всё таки существует халявный
PM MAIL   Вверх
maloicds
Дата 23.10.2011, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В нете много крякнутых версий MyDAC
PM MAIL   Вверх
maloicds
Дата 27.10.2011, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Продолжаю тему по поводу обновления данных. Всё остальное как и в предыдущих вопросах по поводу обновления.
Есть две связанные таблицы. В грид данные получаю через запрос вида 
Код

'SELECT * FROM table1, table2 WHERE table1.запись = table2.значение'
  При таком запросе результируещее поле отображает значение поля второй таблице в грид. При добавлении данных через myquery1.AppendRecord или MyDataSource1.DataSet.AppendRecord данные записываются в базу данных, а результирующее поле остаётся пустым (в dbgrid) хотя в нем есть значение. Приходится обновлять весть query. Может есть какое нить свойство у грида или query или другой метод добавления и отображения данных?? 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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