Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Проблема с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.035 c
14-1078551328
Maestro
2004-03-06 08:35
2004.04.04
Формат числа


6-1074524774
det_sim
2004-01-19 18:06
2004.04.04
Не удается отправить сообщение по протоколу TCP/IP


1-1079632852
senya
2004-03-18 21:00
2004.04.04
Удаление компонентов в Run-Time


14-1078480768
Оля
2004-03-05 12:59
2004.04.04
Чтение байтов из текстового файла


14-1079093706
Murad
2004-03-12 15:15
2004.04.04
"include" в XML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский