Главная страница
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.033 c
2-1153655595
susergey
2006-07-23 15:53
2006.08.13
Запуск с параметрами


2-1153675403
неумейка
2006-07-23 21:23
2006.08.13
Как принудительно вызывать хинт ?


8-1139803165
Mastak
2006-02-13 06:59
2006.08.13
Web2RGB


4-1145440102
GanibalLector
2006-04-19 13:48
2006.08.13
DLL в DLL(в качестве ресурса)


2-1153806038
novice
2006-07-25 09:40
2006.08.13
Диалоговое окно с таймаутом