Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не удается найти строку для обновления. 
V
    Опции темы
Burka
Дата 9.10.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Такая проблема: в программе, добавляю строчку в БД(она оказывается последней в списке) и редактирую, табуляцией перемещаюсь по колонкам, но когда ТАб нажимаешь на последней колонке возникает ошибка
Код

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


Подскажите, что сделать можно?
Использую AdoTable( smile ), AdoConnection( smile ) и т.п.


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Данкинг
Дата 9.10.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Помогает закрыть-открыть adodataset.


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


Опытный
**


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

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



ммм не тот вариант который мне нужен.. а вообще помогает смена фокуса с дбгрида, но мне нужно узнать именно причину ошибки. А дедовскими способами не хочу  smile 


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
ALeXandrK
Дата 9.10.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Все зависит от параметров CursorLoaction и IsolationLavel.

Описывать все их варианты и что они значат не буду (их много), поищи в интернете.

У меня лично стоит CursorLoaction = clUseClient, IsolationLavel = ilUnspecified;

Так ты говоришь, что я "сервер" и мне не нужно строго следить за транзакциями и др. 
штучками, т.к. я один и базу, кроме меня, никто не изменяет. Соотвтетсвенно, тебе
он говорит все правильно, т.к. не знает были ли изменения или нет...

Это сообщение отредактировал(а) ALeXandrK - 9.10.2007, 20:11


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Burka
Дата 9.10.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Выставил все свойства так, не помогло..
Эта же ошибка выскакивает, если сделать так: добавить строку, редактировать ее и применить метод Next к соответствующему датасету. (если хотите проверьте, должна быть ошибка=) )
Я вот думаю может сохранить вручную при редактировании как-нибудь, но Post не работает т.к. датасет находится не в Edit-моде..
 smile 


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
SergeBS
Дата 10.10.2007, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Burka, 
Код
TADODataset.Properties['Update Resync'].Value := adResyncAll;

На DelphiKingdom - статья насчет ADO. Там описано зачем.
Если нет уникального ключа - не поможет ничего.
ALeXandrK, 
Цитата
Все зависит от параметров CursorLoaction и IsolationLavel

Если бы только от них... ЭТО от них не зависит.
PM MAIL   Вверх
Burka
Дата 10.10.2007, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



SergeBS, у меня "adResyncAll" не известно. мож че подключить надо?

Цитата

Если нет уникального ключа - не поможет ничего.

Уникальный ключ, это случаем не тоже самое, что и ключевое поле? А то я путаюсь уже.

Это сообщение отредактировал(а) Burka - 10.10.2007, 11:48


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Savek
Дата 10.10.2007, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



модуль ADOInt
adResyncAll = $0000000F;
PM MAIL   Вверх
ALeXandrK
Дата 10.10.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SergeBS @ 10.10.2007,  07:25)
Burka, 
Код
TADODataset.Properties['Update Resync'].Value := adResyncAll;

На DelphiKingdom - статья насчет ADO. Там описано зачем.
Если нет уникального ключа - не поможет ничего.
ALeXandrK, 
Цитата
Все зависит от параметров CursorLoaction и IsolationLavel

Если бы только от них... ЭТО от них не зависит.

Мне как раз 
Код
TADODataset.Properties['Update Resync'].Value := adResyncAll;

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


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Burka
Дата 10.10.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не помогло(


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Burka
Дата 10.10.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот это вроде помогло, только грузить чуть подольше после клика мышкой:

Код

procedure TMainForm.ADOQryAfterPost(DataSet: TDataSet);
begin
DataSet.Refresh;
end;





--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
SergeBS
Дата 11.10.2007, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Burka, 
Прочитай все-таки статью "Немного об использовании ADO в Delphi" c DelphiKingdom. Пригодится.
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.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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