Главная страница
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.021 c
3-51114
Kalyan
2003-09-26 17:50
2003.10.16
Как изменить название поля в таблице в Paradox 7.0.


3-51082
Filat
2003-09-25 19:32
2003.10.16
FIBPlis под Delphi 7, не могу установить :(((


1-51302
Zheks
2003-10-07 10:02
2003.10.16
Вопрос по разбиению времени на интежеровские значения


3-51112
DelphiNew
2003-09-25 09:47
2003.10.16
FoxPro -->Interbase


1-51292
drakulita
2003-10-06 11:23
2003.10.16
Help?