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

Вниз

игнорирование регистра в запросе   Найти похожие ветки 

 
stone ©   (2007-05-23 18:25) [40]


> все равно не ищет! в чем может быть дело???


> FILENAME like :filename

регистр не привел (если надо было)


> like

у параметра % присутствует?


 
kubatura ©   (2007-05-24 09:00) [41]


> регистр не привел (если надо было)

тут не надо регистра...


> у параметра % присутствует?

да даже простое равенство не работает...
DataModule2.IBQuery1.SQL.Add("where FILENAME=filename and Upper(FAM_FL)=fam and Upper(NAME_FL)=nam and Upper(OTCH_FL)=otc");


 
kubatura ©   (2007-05-24 11:55) [42]

собственно повторяю вопрос...


 
stone ©   (2007-05-24 13:00) [43]


> DataModule2.IBQuery1.SQL.Add("where FILENAME=filename and
> Upper(FAM_FL)=fam and Upper(NAME_FL)=nam and Upper(OTCH_FL)=otc");
>

ты на свой запрос внимательно посмотри. только очень внимательно...


 
Anatoly Podgoretsky ©   (2007-05-24 13:59) [44]

Что ни так с запросом, криминала нет


 
kubatura ©   (2007-05-24 15:13) [45]

глаз уже замылился... не могу понять что не так с запросом???? :-(((


 
Anatoly Podgoretsky ©   (2007-05-24 15:16) [46]

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


 
kubatura ©   (2007-05-24 15:36) [47]

это данные по которых проводится отбор

fam := ANSIUpperCase(Form1.LabeledEdit28.Text);
nam := ANSIUpperCase(Form1.LabeledEdit29.Text);
otc := ANSIUpperCase(Form1.LabeledEdit30.Text);
DataModule2.IBQuery1.SQL.Add("select * from FL");

а формат полей в таблице

  FAM_FL    VARCHAR(60) CHARACTER SET WIN1251,
  NAME_FL   VARCHAR(60) CHARACTER SET WIN1251,
  OTCH_FL   VARCHAR(60) CHARACTER SET WIN1251,

кстати поля в таблице могуть иметь разную кодировку или вся таблица должна быть в одной кодировке???


 
kubatura ©   (2007-05-24 15:44) [48]

мда... пофиг ей все или не все поля одной кодировки... не пашет хоть ты тресни :-(((


 
Anatoly Podgoretsky ©   (2007-05-24 15:48) [49]

> kubatura  (24.05.2007 15:36:47)  [47]

Это переменные, а в запросе поля.


 
kubatura ©   (2007-05-24 16:00) [50]

что не так-то?????? :-((((


 
Anatoly Podgoretsky ©   (2007-05-24 16:40) [51]

> kubatura  (24.05.2007 16:00:50)  [50]

Это тебя надо спросить, попробуй человеческим языком, а не машинным объяснить свою часть WHERE, примерно так

Если поле равно и ...


 
kubatura ©   (2007-05-25 08:58) [52]

хех... а колыбельную компьютеру на ночь не надо петь? :-)))))))


 
kubatura ©   (2007-05-25 11:19) [53]

так... создал новую базу данных в кодировке win1251, заново загнал туда все данные... но теперь при попытке поиска выскакивает ошибка:

"arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets."

Это что за зверь и с чем его едят???

Заранее спасибо!!!


 
kubatura ©   (2007-05-28 09:14) [54]

собственно сабж...


 
kubatura ©   (2007-05-28 14:59) [55]

повторю вопрос- что это за ошибка? в каких случаях она возникает???


 
pavel_guzhanov ©   (2007-05-28 15:49) [56]


> arithmetic exception, numeric overflow, or string truncation
> Cannot transliterate character between character sets

Эта ошибка чаще всего возникает, если ты пытаешься вставить в поле данные, большие, чем размер поля.


 
kubatura ©   (2007-05-28 16:58) [57]

но я не вставляю никакие данные!!!! ошибка выскакивает на запросе IBQuery!!!


 
phar   (2007-06-01 19:20) [58]

Попробуй указать явно в параметрах TIBDatabase кодировку.
Либо через Object Inspector открыть Params и добавить строку lc_ctype=WIN1251
Либо в момент исполнения кода, перед запросом что-то вроде:
IBDatabase1.Params.Add("lc_ctype=WIN1251");


 
phar   (2007-06-01 19:34) [59]

А ошибка возникает в твоем случае возникает при попытке IB перекодировать
СharacterSet клиента в СharacterSet базы. По умолчанию и база и клиент имеют СharacterSet=NONE.  СharacterSet = NONE(неизвестный) нельзя перекодировать ни в какой другой, поэтому при попытке перекодирования выскакивает ошибка. Поскольку ты задал для базы СharacterSet WIN1251 для клиента надо задать "совместимый" СharacterSet. Как это сделать я описал выше



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

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

Наверх




Память: 0.57 MB
Время: 0.026 c
3-1175016877
Цукор5
2007-03-27 21:34
2007.06.24
DBase ( Win or DOS ???)


8-1160656110
zorik
2006-10-12 16:28
2007.06.24
Как нарисовать кривую Безье (или любую другую)?


2-1180945084
Soi_
2007-06-04 12:18
2007.06.24
Как ускорить скорость выполнения циклов?


2-1180609067
ambhtr
2007-05-31 14:57
2007.06.24
Как удалить строку в текстовом файле?


15-1180338322
Капибара из дома
2007-05-28 11:45
2007.06.24
История про рогалики