Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Ошибка No current record при попытке редактирования данных   Найти похожие ветки 

 
Константин_   (2006-07-20 17:20) [0]

Ошибка "No current record" при попытке редактирования данных полученных путем Sql запроса. Как от нее избавиться?
Запрос:select dogovor,data,summa from data\grafic.dbf where dogovor="1" order by 2
Индекс по второму полю в БД есть.


 
Desdechado ©   (2006-07-20 17:29) [1]

Какая субд, какие компоненты?
Многопользовательский ли доступ?


 
Константин_   (2006-07-20 17:32) [2]

Таблица dbase IV работаю через BDE локально, компонент Query, многопользовательского доступа нет


 
Германн ©   (2006-07-20 17:39) [3]

TQuery.RequestLive
Только обязательно сначала прочти Хэлп по этому свойству


 
tesseract ©   (2006-07-20 17:40) [4]


> Константин_   (20.07.06 17:32) [2]


LiveRequest у query стоит в true?

проверь CanModify после запроса. Даже live request не гарантирует возможности редактирования.


 
Константин_   (2006-07-20 17:44) [5]

CanModify дает значение True


 
tesseract ©   (2006-07-20 17:48) [6]


> Константин_   (20.07.06 17:44) [5]


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


 
Константин_   (2006-07-20 17:55) [7]

В таблице было два индекса, удолил дополнительный начала работать.
Спасибо за помощь.


 
ЮЮ ©   (2006-07-21 04:04) [8]


> В таблице было два индекса, удолил дополнительный начала
> работать.


Зато главного - первичного ключа - как не было, так и нет. Так что ждите проблемы 2007 года.


 
Константин_   (2006-07-22 00:08) [9]

А по подробнее можно?


 
ЮЮ ©   (2006-07-24 03:22) [10]

При наличии ключевого поля, при модификаии записи генерируется запрос вида
UPDATE ... WHERE <ключевое поле>  = <значение до изменения>
и сабжевая ошибка возможна лишь при удалении записи зругим пользователем (при отсутствии доступа к редактированию ключевого поля, естественно)

При его отсутствии (в таблице или запросе) - запрос на изменение имеет вид
UPDATE ... WHERE (<поле1>  = <значение поля1 до изменения>) AND  (<полеN>  = <значение поляN до изменения>)
и если значение хотя бы одного поля было NULL, то этот запрос не затронет ни одной записи, что считается ошибкой, что у вас и происходит



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
15-1152871615
DevilDevil
2006-07-14 14:06
2006.08.13
Локальные переменные в C++


15-1152607951
Некто
2006-07-11 12:52
2006.08.13
Беседовал тут с представительницей


2-1153776870
Frojok
2006-07-25 01:34
2006.08.13
Узнать о Выключении компьютера


2-1153818888
Crazy monkey
2006-07-25 13:14
2006.08.13
Картинку из TreeView в image


1-1151654796
dddd
2006-06-30 12:06
2006.08.13
Почему пропускаются breakpints-ы?