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

Вниз

Помогите разобраться с Locate   Найти похожие ветки 

 
iStat   (2003-04-17 06:33) [0]

Народ, подскажите кого пинать. При выполнении

suc=Table1.Locate("Code",code,Options);

выдается ошибка "Record not found", а иногда "Record/key deleted".
Я думал, что функция Locate возвращает false если запись не найдена. Кто из нас не прав?


 
ЮЮ ©   (2003-04-17 07:11) [1]

Locate, действительно, возвращает false если запись не найдена, а "Record not found", "Record/key deleted".скорей всего, Exception-ы возбуждаемые при работе с таблицей, имеющей поврежденные индексы.


 
АлексейК   (2003-04-17 07:27) [2]

Синтасис правильный. Только наименование поля пишется в одинарных кавычках, т. е. "field_name", а не "field_name". А вот при поиске по пустому набору данных может возникнуть ошибка.


 
iStat   (2003-04-17 08:58) [3]

Набор данных однозначно не пустой, а вот с индексами скорей всего...
Восстановить индексы с помощью TUTIL32 - это реально?


 
Anatoly Podgoretsky ©   (2003-04-17 09:15) [4]

А у тебя Парадокс?
Тогда вполне реально, но можно и без него, с помощью DBD


 
iStat   (2003-04-17 09:43) [5]

Да, Paradox. А с помощью DBD как?


 
alexLi   (2003-04-17 10:25) [6]

Еще вариант. На том же файле открыта еще одна таблица и в ней,
например, удалена запись. Если на текущей Table1 не сделать Refresh, то результатом будут имеенно такие сообщения. С точки зрения Table1 нет записи соответствующей индексу, хотя индексы в порядке.


 
Anatoly Podgoretsky ©   (2003-04-17 10:42) [7]

iStat (17.04.03 09:43)
Там есть Restructure, в кочном удалить и пересоздать, самый действенный метод


 
blackman ©   (2003-04-17 10:52) [8]

>[D3]
Интересно, а что будет если с D1 попробовать ?


 
iStat   (2003-04-17 11:14) [9]

>alexLi

У меня сначала Query1 делает выборку из нескольких таблиц, в т.ч. и из той с которой связана Table1, затем
code=Query1.FieldByName("Code").AsInteger;
suc=Table1.Locate("Code",code,Options);
Это влияет на набор данных связанный с Table1?


 
alexLi   (2003-04-17 11:58) [10]

Не влияет, если только выборка, а не удаление или замена.


 
iStat   (2003-04-17 13:58) [11]

Ничего не понимаю!
Создал таблицы по новой с нуля, заполнил.
Создал новое приложение со строчками с выборкой и Locate.
Запускаю - работает.
Запускаю старое приложение - не работает.
Запускаю SQLExplorer, пишу "select * from таблица where code=111"
Выдает нужную строчку.
На что грешить? Куда еще копать? Или лучше BDE закопать...


 
blackman ©   (2003-04-17 14:07) [12]

>Или лучше BDE закопать...
Проще обновить или скачать полностью новое
Я же написал...


 
Anatoly Podgoretsky ©   (2003-04-17 14:21) [13]

iStat (17.04.03 13:58)
Дело не во внешней среде, у тебя два приложения одно работает, а другое нет, так что вывод сделай сам.


 
iStat   (2003-04-17 14:28) [14]

BDE у меня от 5 Delphi, это недостаточно новое?


 
iStat   (2003-04-17 14:33) [15]

>Anatoly Podgoretsky
Код-то одинаков и там и там


 
Anatoly Podgoretsky ©   (2003-04-17 14:41) [16]

Не верю, Станиславский.
При одинаковом коде не возможно различить программы, кроме как по имени.


 
iStat   (2003-04-17 14:51) [17]

Одинаковы не полностью, а только кусочки делающие одно и тоже



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

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

Наверх




Память: 0.5 MB
Время: 0.025 c
1-23125
Sour
2003-04-27 15:12
2003.05.08
Перемещение рисунка по канве.


1-23137
Fighter
2003-04-28 09:42
2003.05.08
Прокрутка в TScrollBox


3-22989
Andy Verinov
2003-04-17 00:09
2003.05.08
Вешается BDE от большого числа запросов?


1-23061
SiJack
2003-04-25 15:22
2003.05.08
TreeView + CheckBox


1-23112
Sour
2003-04-27 13:32
2003.05.08
Почему на канве Tbitmap ничего не рисуется?