Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка: Не удается найти строку для обновления... [D5, MySQL]


Рустем ©   (2006-04-10 21:27:00) 

Ребята, помогите побороть ошибку!
Подключаюсь к MySQL через ADO. Для получения данных из таблицы использую TADODataSet. Перевожу данные в режим редактирования, меняю значение поля на то же самое значениеи после вызова метода Post появляется ощибка: "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения". Пытался изменить значение свойство Update Criteria на adCriteriaKey - не помогает. Причем, если изменить значение поля на другое значение, то ошибка не возникает. В чем может быть проблема?
Заранее благодарен!


Рустем   (2006-04-11 13:00:00) [1]


> sniknik ©

Спасибо за поддержку. Разобрался. Проблема была в драйвере ODBC. Заменил версию 3.51.12 на 3.51.06 и ошибка более не появляется...


sniknik   (2006-04-10 23:46:00) [2]

> Решил изучить MySQL и наступил на грабли...
MySQL-я к сожалению не стоит, если это чисто его "прикол" то ...

могу только предположение, вернее два, первое провайдер (ODBC используется?) на другой поменять (OLEDB/или наоборот) проверить. т.к. возможно он не дает нужной инфы по полю и ADO не определяет его как ключевое. (бывает если неправильно работает со схемами. сталкивался при подборе провайдера для IB)
в принципе могу пограммку выслать в которой это будет видно (определение ключа там как раз через родные ADO-шные схемы, сравнить с access-ной таблицей и будет понятно правильно или нет)

второе D5... без обновлений (?) ADO в нем был реализован криво (хотя тут еще как сказать, т.к. до версии MDAC 2.5 все работало без обновлений... после потрбовались. может мелкософт в протоколах обмена чтото поменял?)
в общем если не стоят самые последние обновления то как раз время их качать и ставить... (можно просто делфю на 7ю поменять... а потом качать и ставить ее апдейты... ;о))

в общем и то и то основано на догадке, о том, что ключь не определяется как ключь... на каком этапе, вот это надо выяснить.


Рустем   (2006-04-10 22:00:00) [3]


> а в запросе присутвует? и не его ли пытаешся изменить?

И в запросе присутствует, и менять его я и не пытаюсь - автоинкрементное...

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

Таблица из 2-х полей: одно - автоинкрементное, оно же и ключевое, второе - текстовое.

С базой ACCESS все работает. Решил изучить MySQL и наступил на грабли...


sniknik   (2006-04-10 21:55:00) [4]

> Ключ - ключевое поле?
да, оно. (хотя в приципе ключь может быть составной, из нескольких, а не одного поля)

> Если да, то есть.
а в запросе присутвует? и не его ли пытаешся изменить?

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


Рустем   (2006-04-10 21:44:00) [5]


> а вообще ключ то у таблицы есть?

Ключ - ключевое поле? Если да, то есть.


sniknik   (2006-04-10 21:35:00) [6]

> Пытался изменить значение свойство Update Criteria на adCriteriaKey
а вообще ключ то у таблицы есть? без него это недействительно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо