Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.051 c
15-1152807930
Nic
2006-07-13 20:25
2006.08.13
Меня можно поздравить


2-1153514115
Батя
2006-07-22 00:35
2006.08.13
Округление числа


15-1153043236
Германн
2006-07-16 13:47
2006.08.13
Контроллеры СОМ портов


11-1131084045
Vladimir Kladov
2005-11-04 09:00
2006.08.13
Версия 2.20


15-1152895444
lookin
2006-07-14 20:44
2006.08.13
В Скайп никто не желает?




   Наверх