|
|
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
В поле ввода ввожу набор букв. Например 'АВТО'. При нажатии на Enter переменной присваивается значение этого поля (nam:=Edit1.Text) и запускается хранимая процедура в IB7, в которую передается данная переменная . (IBSPIzg.ParamByName('pnaim').AsString:=nam; IBSPIzg.ExecProc;) Вот ее текст: CREATE PROCEDURE SEEIZG ( PNAIM VARCHAR(100)) RETURNS ( RID INTEGER, NAMIZGOT VARCHAR(100)) AS begin pnaim=:PNAIM||'%'; for Select id_izg, naim||razdelit||country as izgotov from spr_izg where (naim like :PNAIM) or (country like :PNAIM) into :RID, :NAMIZGOT do begin suspend; end end Выдается ошибка: arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets. Помогите, пожалуйста, разобраться в чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 09:25:36 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
с кодировкой скорее всего проблемы. какая кодировка используется в БД и с какой кодировкой подключаешься к БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 09:44:56 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
А может проблема в этом : pnaim=:PNAIM||'%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 09:48:10 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
Видимо с кодировкой где-то нелады. Толи поля в талицах не с той кодировкой объявлены, толи не с той подключаешься... А вообще, зачем SP тут нужна? Прямо с клиента параметризованный запрос... И, кстати почему бы like не заменить на starting with? Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:14:07 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
а может быть такой вариант ? naim||razdelit||country в сумме дают больше 100 знаков и не могут поместиться в переменную NAMIZGOT ? RETURNS ( ... NAMIZGOT VARCHAR(100)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:14:35 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
Разобрался. Пора в отпуск. Действительно при connecte забыл указать кодовую страницу. Хотя был уверен что указал. Но все-равно Like не работает. Помогите разобраться с Like. pnaim='АВТО%' В базе в поле naim есть запись АВТОВАЗ. Select id_izg, naim||razdelit||country as izgotov from spr_izg where naim like :PNAIM into :RID, :NAMIZGOT - не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:18:29 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
По подробнее про starting with можно? С чем это едят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:20:11 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
попробуй без процедуры, простым запросом... может запрос не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:26:35 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
starting with 'abc' эквивалентно like 'abc%' но при этом сервер сможет использовать индекс если таковой, конечно, имеется. Кстати 'АСерега' хорошее предположение по поводу ошибки высказал, проверь... Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:27:39 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
отказался от процедуры. Делаю запросом. Переменная nam имеет значение 'АВТО%'. IBDS2.SelectSQL.Clear; IBDS2.SelectSQL.Add('Select id_izg, naim, country from spr_izg where naim like :nam'); IBDS2.Open; В поле naim есть запись АВТОВАЗ Представленный выше Select ничего не возвращает. Пожалуйста, подскажите, в чем может быть причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 12:22:57 |
|
||
|
Непонятно
|
|||
|---|---|---|---|
|
#18+
Роман НовичекIBDS2.SelectSQL.Clear; IBDS2.SelectSQL.Add('Select id_izg, naim, country from spr_izg where naim like :nam'); IBDS2.Open; Это опечатка или как? Надо так: Код: plaintext 1. 2. 3. 4. Если не получится, попбробуй в лоб, без параметров. Код: plaintext 1. 2. 3. 4. Если не получится попробуй в IBEpert-е запрос Select id_izg, naim, country from spr_izg where naim like 'АВТО%' Если и тут не работает, то тогда убедись что регистр везде одинаковый. АВТО и Авто - разные вещи, Убедись, что написание - одинаковое, в смысле, на одном языке: ABTO <> АВТО - выглядит одинаково, но первое слово написано в англ. раскладке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 12:49:33 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=465&tid=1578361]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 300ms |

| 0 / 0 |
