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

Вниз

Не работает 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
7-51538
Novenkij
2003-07-30 00:36
2003.10.16
Как узнать hendle приложения


6-51385
malkolinge
2003-08-18 19:00
2003.10.16
TwebBrowser


3-51132
AlexPul
2003-09-24 17:11
2003.10.16
Размер записи


14-51480
Kinda
2003-09-29 09:55
2003.10.16
Запись на видеомагнитофон.


8-51353
Proger
2003-06-17 08:46
2003.10.16
Конвертация JPG в BMP не через временный файл на диске