Форум: "Базы";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
ВнизНе работает locate Найти похожие ветки
← →
Ser_fantom (2003-09-24 10:55) [0]Привет всем.
Возник вопрос: не работает locate на D7, чему я крайне удевлен.
Вот простой пример
if TableZac.Locate("id",tableall.FieldByName("Zac").AsInteger,[]) then
begin
......
end;
Поле id тоже типа integer и по нему есть индекс, однако поиск не работает. В чем может быть заковырка? Для остальных таблиц он отрабатывает нормально, но для этой нет, вернее отрабатывае с надцатова раза, а потом опять глухо.
← →
dtm (2003-09-24 11:22) [1]Где наши телепаты? ;)
Что за СУБД? И поточнее опиши проблему.
← →
Vlad (2003-09-24 11:23) [2]Locate в TTable имеет свойство глючить. Боюсь, от этого никуда не денешься.
Попробуй без индексов, хотя не уверен что в этом дело.
← →
Ser_fantom (2003-09-24 11:27) [3]На событие TableAllAfterScroll пытаюсь по основной таблице спозиционировать все остальные таблицы для редактирования по id.
СУБД MSSQL 2000.
← →
dtm (2003-09-24 11:30) [4]Ser_fantom [3]
А разве не позиционируются они, если указать MasterSourse в компоненте как первый вариант или DataSourse выставить в TTable/TQuery указывающим на родительский ДС, а в них самих запросы записать с параметрами, имена которых указывают на поля ДС родителя?
← →
Ser_fantom (2003-09-24 11:48) [5]Про MasterSourse я совсем забыл. Спасибо что напомнили.
Но вопрос про locate конечно останется висеть в воздухе.
← →
dtm (2003-09-24 12:02) [6]Ser_fantom [5]
Ну сказали же - глючит он у TTable. Попробуй использовать TIBQuery, у меня пока вроде не глючил, но я работал с FB 1.5
← →
Vlad (2003-09-24 12:07) [7]>dtm (24.09.03 12:02) [6]
Еще ни разу не пробовал использовать TIBQuery при работе с MSSql 2000 ;-)
← →
Alex_Raider (2003-09-24 13:01) [8]Алё, советчики!
ничего у TTable не "глючит".
"Глючат" только кривые руки у горе-программистов.
← →
DenK_vrtz (2003-09-24 13:08) [9]Alex_Raider ©, так посовету что-нить автору вопроса!
← →
Vlad (2003-09-24 13:11) [10]>Alex_Raider © (24.09.03 13:01) [8]
Мда....
Мало ты, уважаемый с BDE работал видимо.
← →
Alex_Raider (2003-09-24 13:20) [11]Нормально я с ним работал ;-)
А информации автор дал маловато.
1. Есть ли первичный ключ в ID поле?
2. Установлены ли где-либо какие-либо ограничения или Constraints?
3. Нет ли NULL`ов в поле (Zac) по которому пытаемся отлоцироваться?
4. не происходит ли чего-либо на OnxxxScroll?
5. Нет ли взаимообратных связей?
6. Почему бы не сделать через masterSource?
7. зачем "лоцироваться" Locate для редактирования, если это
прекрасно делают или Lookup-поля, или DBLookup-эдиторы?
8. Зачем использовать BDE, когда для MS "родной" это ADO и
ADODataset?
← →
MsGuns (2003-09-24 13:25) [12]>Alex_Raider © (24.09.03 13:20) [11]
6) замечание существенно
8) напрашивается
остальное к сабжу отношение не имеет
← →
Ser_fantom (2003-09-24 14:30) [13]1.Первичный ключ в id есть
2.Никаких ограничений нет.
3.Даже если и есть null"ы я их просто отсекаю и ничего с этими записями не делаю.
4.В OnxxxScroll больше ничего не делаю.
5.Взаимо обратных связей я не воял, все просто: смещаюсь на одну запись в основной таблице, а по дочерним с locate пытаюсь сместить указатели и больше ничего.
6. Про masterSource просто забыл :-) что такое есть.
7. Ну а locate уже просто интересно почему всетаки не работает,
без него выкрутился, но на будущее всетаки интересно.
← →
Stas (2003-09-24 14:46) [14]А ты что с MSSQL 2000 через BDE Работаешь ?
А-А !
← →
Vlad (2003-09-24 15:32) [15]>7. Ну а locate уже просто интересно почему всетаки не работает,
Ну если интересно, прочеши дебагером исходники и посмотри где глюк получается :)
← →
dtm (2003-09-24 18:30) [16]Vlad [7]
Каждый имеет право на описку ;)
Ну тогшда пробуй ADO, работать с MS SQL через него.
← →
ЮЮ (2003-09-25 02:52) [17]>А ты что с MSSQL 2000 через BDE Работаешь
Работать с помошью BDE - ещё не преступление, а вот использовать TTable - уже преступление. (учти, что для каждой TTable создается отдельное соединение с сервером, кол-во которых у последнего достаточно ограничено)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c