Форум: "Базы";
Текущий архив: 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