Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться с 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c