Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени
drak
Дата: 17.06.2009 00:13:30
Привет всем.... Стоит SQL Server 2005 express edition. База локальная. Грид связан напрямую с ADODataSet. Если в Гриде через навигатор добавляю запись или удаляю .... вываливается ошибка:
"Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения.". Вот в этой строке в отладчике: Provider.Post(AForcePost);
Подскажите где искать ошибку?
Nebary
Дата: 17.06.2009 00:17:58
Не уверен, но может в запросе не хватает ключа?
drak
Дата: 17.06.2009 00:20:56
Запрос типа SELECT * FROM dbo.TableName
Nebary
Дата: 17.06.2009 00:21:05
Я имею в виду ключевое поле как в самой таблице, так и в выборке, попадающей в Ваш датасет.
Nebary
Дата: 17.06.2009 00:21:47
drak
Дата: 17.06.2009 00:23:33
Да имеется
Nebary
Дата: 17.06.2009 00:27:30
alexpro-2004
Дата: 20.09.2009 00:06:12
Используем строку подключения вида: "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=history;USER=root;stmt=set names cp1251;OPTION=10", читаем про остальные параметры коннектора MyODBC. Если при сохранении измененной записи появляется ошибка "Row cannot be located for updating. Some values may have been changed since it was last read (Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени последнего чтения)" то нужно установить параметр 2 (Return Matching Rows).
OPTION=2