Главная страница
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.053 c
2-1153839351
oleggar
2006-07-25 18:55
2006.08.13
BDE


2-1153983378
pasha_golub
2006-07-27 10:56
2006.08.13
TADOConnection


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


15-1151925090
Stanislav
2006-07-03 15:11
2006.08.13
Авторизация на сайте


8-1139485976
DelphiLexx
2006-02-09 14:52
2006.08.13
Цифровая радиосвязь(DRM) и Delphi