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

Вниз

Проблема с Locate   Найти похожие ветки 

 
Евген ©   (2004-03-04 18:01) [0]

Господа, подскажите пожалуйста где грабли?
Перед вставкой записи проверяю на наличие одноименной:


   if FormMain.ProizvoditelDataSet.Locate("P_NAME", Edit.Text, [loPartialKey]) then
   begin

   end;


Кампилятор выдает ошибку "Undeclared identifier "loPartialKey""
и следом "Incompatible types: "TLocateOptions" and "Integer" ".

Блин, ну где там Integer!!!??? Что характерно в других формах этот метод работает.


 
TransparentGhost   (2004-03-04 18:06) [1]

Uses DB;


 
Zacho ©   (2004-03-04 19:43) [2]

А создать уникальный индекс и не париться с такими "проблемами" не судьба ?
И кстати, либо "одноименной", либо [loPartialKey]
Ты уж определись, что именно тебе надо.


 
Евген ©   (2004-03-04 19:56) [3]


> TransparentGhost

Огромное спасибо!


> Zacho ©

Сумничал, да? Полегчало?


 
Zacho ©   (2004-03-04 20:20) [4]

Не сумничал, а подсказал правильный способ. Хочешь - делай Locate, на действительно серьезных базах тебе это еще аукнется.
И действительно, задавай вопросы нормально, не зря я тебя спросил про "одноименной" и [loPartialKey]. Я не телепат, а твоя формулировка вопроса далеко не однозначна.
А "умничать" мне без надобности. У меня подобные вопросы не возникают. И не потому, что я "слишком умный", а потому, что на такие вопросы я в первую очередь ищу (и нахожу) ответы в документации/учебниках, а не форумах, и не трачу чужое время на решение таких вопросов.


 
Zacho ©   (2004-03-04 20:48) [5]

2 Евген © :
И еще добавлю : Неужто надо много ума, чтобы найти в каком модуле есть декларация TLocateOptions ? Нет, обязательно надо в форуме спросить. А сделать пару тычков мышью и несколько нажатий на клавиши - это слишком сложно для крутого программера ;-P


 
VID ©   (2004-03-04 21:10) [6]

To Zacho: чувак, ты мне хоть и помог недавно с отображением и скрытием бэнда в отчёте, но здесь ты зря на автора сабжа наезжаешь.. форум есть форум - все имеют право высказываться...

вот собствено всё что я хотел сказать.


 
Zacho ©   (2004-03-04 21:32) [7]

2 VID © :
Ну и вот. Он высказался - и я высказался.
А за пост Zacho ©   (04.03.04 20:48) [5] - могу принести извинения, действительно не стоило наезжать. Хотя, может ему это полезно будет. Например, поиском в файлах пользоваться научится.
Еще небольшая просьба: не называй меня "чувак".


 
VID ©   (2004-03-04 22:26) [8]

>>Еще небольшая просьба: не называй меня "чувак".

Ладно, не обессудь, чувак ) ;)))

шутка  :)


 
Deniz ©   (2004-03-05 07:06) [9]

Поругайте и меня, но с сообщением
Кампилятор выдает ошибку "Undeclared identifier "loPartialKey"" просить форум???
Вспоминается задача, "Как поймать льва в пустыне" и как разные программисты ее решают.
Для Delphi: программист лезет в инет и ищет компонент, который ловит льва в пустыне :-)
Для C++: Находим камень в пустыне, строим вокруг него забор, называем камень львом :-) это так для прикола(там еще много для всяких языков), так вот, когда я прочитал все эти приколы, улыбнулся и подумал, неужели так оно и есть? Чувствуется это ПРАВДА, а где же "метод народного тыка", попробовать самому и т.д.
Вобщем, никого не хотел обидеть. Просто иногда надо немного подумать, перевести сообщение компилятора, и еще раз подумать. А еще Delphi умеет вот что, ставишь курсор на слово, нажимаешь F1 и ... о счастье!


 
SPIRIT ©   (2004-03-05 07:49) [10]

Методом тыка ? Мне знакомый принес исходники диплома .. так я там такое извращенство нашел. У него такая же "проблема" c Locate была, а инета, как раз, не было (ф1 пользоваться не умеет). Так он завел булеву функцию в модуле, в котором база описана и в ней Locate делал. А из другого модуля функцию вызывал.


 
Евген ©   (2004-03-05 11:51) [11]


> Deniz ©

Ошибки кампилятора я привел для того чтобы была полная картина, F1 я давить умею, и получаю справку по Locate, а какой модуль в uses добавлять для Locate я непомню (если хочешь, незнаю). Обращабсь я к этому методу в датасете из другой формы.
Народ, вы извините, но я непонимаю зачем разводить этот шум? Вот TransparentGhost ответил кратко и по существу. Еще раз ему спасибо! Ниужели никто не впвдал в состояние ступора после 8 часов сидения за компом?


 
Anatoly Podgoretsky ©   (2004-03-05 11:55) [12]

Не очень похоже что ты умеешь, я попробовал давить и у меня получилось.
Нет просто мы делаем перерывы согласно требованиям охраны труда.


 
Johnmen ©   (2004-03-05 12:01) [13]

По-моему в ступорном состоянии человек не может давить кнопы  - в общем, и выходить в инет - в частности...
:)


 
Никто   (2004-03-05 12:28) [14]

> создать уникальный индекс
 Бывают случаи, когда индекс инкапсулируется именно такими проверками. Например, в ADO + MSJet + *.mdb при нарушении уникальности по индексу выдается сообщение типа: "Нарушение уникальности записи. Попробуйте выполнить следующие действия: переопределить индекс, изменить вводимые данные и т.д., и т.п.". Для конечного пользователя это сообщение - мало информативно. Он не будет индексы переопределять. Для него важнее знать, в каком поле он допустил повтор. В описанном случае этой информации нет. (Вспоминаю первые компиляторы Pascal: на любую ошибку в любой строке они просто писали: Error).
Кто предложит лучшее решение проблемы, вместо Locate (или дополнительных запросов)?

P.S. Может, в IB такой проблемы нет. Не знаю.


 
Zacho ©   (2004-03-05 20:53) [15]

В IB такой проблемы действительно нет. В тексте сообщения об ошибке будет вся необходимая информация.
Я уже привел решение проблемы (правда автор топика, до сих пор этого не понимает). Уникальный индекс и все !!! А если для кого-то парсинг сообщения об ошибке (и обработка исключений) проблема - RTFM учебники.
Заранее извеняюсь :) за излишне резкий тон. Просто у меня сейчас хреновое настроение :)
2 Евген © : Да, "TransparentGhost ответил кратко и по существу", но если ты воспользуешься только его ответом - ждут тебя в недалеком будущем матерки от пользователей твоей системы.


 
kaif ©   (2004-03-06 17:29) [16]

Зря ломаются копья. Просто автор вопроса думает только об ошибке компиляции, а Zacho, возможно, разглядел гораздо более серьезную и опасную ошибку. А ошибке компиляции просто не придал значения. И правильно сделал.
 TransparentGhost точно понял, что хочет автор вопроса и ограничился лаконичным ответом.
 Автор зря стал прикалывать Zacho. Если Вы пришли к косметологу с маленькой язвочкой и просите его подобрать подходящий по цвету крем, то не стоит обижаться на другого косметолога, который, по счастью оказавшись врачом, сразу поставил вероятный диагноз - твердый шанкр. И при этом забыл, что вам крем нужен был, а не диагноз.
 Может в том, что Zacho говорит, есть смысл?
 Я не настаиваю, конечно... Но на диагноз типа твердого шанкра (сифилис) всегда имеет смысл хотя бы обратить внимание... А то потом проблемы могут возникнуть более серьезные. Особенно, когда в сети сразу несколько юзеров одинаковую запись вставляют и уповают на Locate, как средство от дубликатов.


 
Zacho ©   (2004-03-08 01:37) [17]

Боюсь, что все равно он (Евген © ) ничего не понял.. Ну, значит поймет послушав маты юзеров.. :)


 
Johnmen ©   (2004-03-08 01:41) [18]

>kaif ©  (06.03.04 17:29) [16]

Ашот, это классно !!!



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

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

Наверх




Память: 0.52 MB
Время: 0.046 c
14-1079064002
тихий вовочка
2004-03-12 07:00
2004.04.04
перевод VCL


14-1078424512
Ангел.
2004-03-04 21:21
2004.04.04
Кто из Омска ?


14-1079074974
ЫЗШКШЕ
2004-03-12 10:02
2004.04.04
ГРАБЛИ !!!!!!!


3-1078893321
Pete
2004-03-10 07:35
2004.04.04
связь объектов БД


14-1078601836
Skines
2004-03-06 22:37
2004.04.04
Проблема с Delophi