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

Вниз

Как сделать поиск в базе данных в Юникоде   Найти похожие ветки 

 
Flyman   (2008-06-03 19:54) [0]

Проблема в то, что когда я вписываю в ted_Seek.Text (компонент TntEdit, поле Text имеет тип WideString) текст в Юникоде, поиск не выдает результат. Если же я пишу только русские буквы то поиск работает нормально. В чем дело? Может посоветуете что-нибудь? Вот код:
if not at_Topics.Locate("Topic",ted_Seek.Text,[{loCaseInsensitive}])
   then ShowMessage("не найдено");

Ах да. База данных Ms Access. В поле "Topic" записан слова в Юникоде.


 
Flyman   (2008-06-03 19:55) [1]

at_Topics - это таблица TADOTable.


 
Anatoly Podgoretsky ©   (2008-06-03 20:19) [2]

> Flyman  (03.06.2008 19:54:00)  [0]

Что то из этого Locate или ted_Seek.Text не Юникод


 
Плохиш ©   (2008-06-03 23:39) [3]


> Flyman   (03.06.08 19:55) [1]
> at_Topics - это таблица TADOTable.

Разве в tnt нет компонентов доступа к бд?


 
Flyman   (2008-06-04 01:14) [4]


> Что то из этого Locate или ted_Seek.Text не Юникод


> Разве в tnt нет компонентов доступа к бд?

Вы говорите про что-то типо TntADOTable? Таких нету, только компоненты TntDataControl.
Есть ли другие способы поиска в базе данных? Я пробовал Seek, но тоже не получилось.

if ADOTable1.Supports([coSeek]) then begin
 with ADOTable1 do begin
   Close;
   IndexName := "Topic";
   CursorLocation := clUseServer;
   Open;
   Seek (TntEdit1.Text, soFirstEQ);
 end
 if ADOTable1.EOF then
   ShowMessage ("Record value NOT found");
end
else ShowMessage("Seek не поддерживается");

После этого всегда выходило сообщение, что Seek не поддерживается.


 
Anatoly Podgoretsky ©   (2008-06-04 08:47) [5]

Неправда

> Note: The VCL Seek method is a direct implementation of
> the Seek method for the ADO Recordset object. At the time
> of this writing, this method is only supported for use with
> Microsoft Access2000 and the Jet 4 provider.


А это зачем в качестве цитаты привел?

> Что то из этого Locate или ted_Seek.Text не Юникод

Напоминаешь? Я помню, написал это в [2]


 
sniknik ©   (2008-06-04 10:53) [6]

> Неправда
там еще уточнение есть, о том что поддерживает он это только в одном режиме, и приведено в каком.

а топиккастер сначала проверяет на возможность, а потом пытается этот режим установить, да и то не полностью вроде (неохота в справку лезть).


 
Anatoly Podgoretsky ©   (2008-06-04 11:13) [7]

Ну справку читать и правильно использовать прочитаное задача автора. А по замечаниям ни одного ответа от автора. Наверно это ему не очень нужно и инструментом наверно не умеет пользоваться.


 
Flyman   (2008-06-04 16:02) [8]


> Ну справку читать и правильно использовать прочитаное задача
> автора. А по замечаниям ни одного ответа от автора. Наверно
> это ему не очень нужно и инструментом наверно не умеет пользоваться.
>


Если бы я все знал то не стал бы задавать зедсь вопросов наверное... Зато "авторы" мне посоветовали побольше читать справку ))))))


 
Flyman   (2008-06-04 16:39) [9]

С Seek разобрался, но он тоже как и Locate не понимает символы в Юникоде.


 
Anatoly Podgoretsky ©   (2008-06-04 16:52) [10]

> Flyman  (04.06.2008 16:02:08)  [8]

У тебя есть сомнение в пользе совета.
Но для ТНТ нет справки.


 
Flyman   (2008-06-04 18:14) [11]

Все разобрался. Эти процедуры Locate и Seek нормально поддерживают Юникод. Оказывается у меня в базе данных другая кодировка была. Символы выглядят одинаково, но имеют разные коды...



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

Форум: "Базы";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1226831942
b1tard
2008-11-16 13:39
2009.01.11
Симплекс-метод


15-1226603097
Дмитрий С
2008-11-13 22:04
2009.01.11
Скиномания


2-1227704235
ekto
2008-11-26 15:57
2009.01.11
не работают сплиттеры


4-1202912615
Андрей Пл
2008-02-13 17:23
2009.01.11
Как определить что данные черех СОМ порт отправлены???


2-1228033675
snake-as
2008-11-30 11:27
2009.01.11
Разные PopupMenu в TreeView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский