powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ошибка от ADO - недостаточно сведений ключевого поля для обновления
1 сообщений из 1, страница 1 из 1
ошибка от ADO - недостаточно сведений ключевого поля для обновления
    #33005182
Лучинкин Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два почти одинаковых запроса
1)
select t.iTovID,v.iVidNo,t.iTovNO,t.cTovName
from dbo.m_vid as v
inner join dbo.m_tv as t on t.iVidID=v.iVidID
inner join dbo.tvotdost as t_o on t.iTovID=t_o.iTovID
where t_o.iOtdID=@iOtdID

2)
select t.iTovID,v.iVidNo,t.iTovNO,t.cTovName
from dbo.m_vid as v
inner join dbo.m_tv as t on t.iVidID=v.iVidID
inner join dbo.tvotdost2 as t_o on t.iTovID=t_o.iTovID
where t_o.iOtdID=@iOtdID

Отличаются они тем, что в первом tvotdost - это индексированное view,
а во втором tvotdost2 - это таблица с аналогичными столбцами.
На основе обоих создается Recordset на стороне клиента, в первом случае при редактирование cTovName получаем от Microsoft Cursor Engine ошибку "недостаточно сведений ключевого поля для обновления" NativeError=1007, Numdber=-2147467259, а во втором случае ошибки нет.
Далее, убираем из результатов первого запроса столбец v.iVidNo, и наблюдаем
чудесное исчезновение ошибки - условия выборки не поменялись, но ключевого поля стало хватать :))

Вопрос №1: почему это так?
Вопрос N2: есть ли способ заставить Recordset работать с первым запросом?
Очень бы хотелось:((
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ошибка от ADO - недостаточно сведений ключевого поля для обновления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]