Вниз
Скачать: CL | DM;

SQL-запрос через ADO   Найти похожие ветки 

← →
Yurikon   (2007-10-08 16:46) [0]

Здраствуйте!

Делаю запрос к базе Access через ADO (драйвер Jet). Столкнулся со следующей проблемой: отбираемые поля содержат символы " " " и "." - драйвер выдает ошибку при сравнении, например (Поле1 = "aaaa.zzz").

Хотя в самом Access`е такой запром прокатывает.
Подскажите, плиз, как решить проблему?


← →
sniknik ©   (2007-10-08 16:48) [1]

использовать параметры


← →
Yurikon   (2007-10-08 16:54) [2]

В свое время отказался от использования параметров, так как
после выполнения

ADOQuery.Parametrs[0].Value := "aaaa.zzz";

по не понятным для меня причинам значение параметра менялось на старое ((.


← →
Sergey13 ©   (2007-10-08 16:57) [3]

> [2] Yurikon   (08.10.07 16:54)

Радикальное решение. 8-)


← →
Megabyte ©   (2007-10-10 14:01) [4]


> В свое время отказался от использования параметров, так
> какпосле выполненияADOQuery.Parametrs[0].Value := "aaaa.
> zzz";по не понятным для меня причинам значение параметра
> менялось на старое ((.

Чудеса бывают...


← →
Sergey13 ©   (2007-10-10 14:16) [5]

> [4] Megabyte ©   (10.10.07 14:01)
> Чудеса бывают...

Особенно в своем коде. 8-)


← →
Yurikon   (2007-10-10 17:15) [6]

Вернулся к использованию параметров - спец. символы (точки, кавычки) теперь запрос обрабатывает, спасибо!

Но! Значение строкового параметра, когда присваиваешь ему русские слова, отображает абрукадабру. Разве для параметров надо еще и charset клавиатуры указывать?


← →
Yurikon   (2007-10-10 19:47) [7]

Подскажите, как в значение с типов OleVariant загнать русские буквы??

После выполнения этой строки

ADOQuery.Parameters[0].Value := "рус";

значение равно "@CA" ...


← →
Megabyte ©   (2007-10-11 10:40) [8]

значение параметра равно этому???

> Подскажите, как в значение с типов OleVariant загнать русские
> буквы??

Почему OleVariant, если у тебя строковый тип? Либо ты не все сказал...

Попробуй так: ADOQuery.Parameters[0].AsString := "рус";


← →
stanislav ©   (2007-10-11 15:55) [9]

тип параметра должен быть Widestring


← →
stanislav ©   (2007-10-11 16:00) [10]

Megabyte ©   (11.10.07 10:40) [8] В ADO нет такого...


← →
Yurikon   (2007-10-11 17:43) [11]

WideString - все верно, но бесполезно...

>Попробуй так: ADOQuery.Parameters[0].AsString := "рус";

А так нельзя, нет такого свойства.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
3-1192511836
Mig
2007-10-16 09:17
2008.03.02
Хитрый запрос из связанных таблиц


2-1201860517
mrFreeman2007
2008-02-01 13:08
2008.03.02
Анализатор спектра


2-1202320069
Res
2008-02-06 20:47
2008.03.02
Ошибка в коде


3-1192105820
Dush
2007-10-11 16:30
2008.03.02
условие отображения данных в DBGridEh


15-1199481044
Семен Сурков
2008-01-05 00:10
2008.03.02
О выборе платформы для ВЕБ и ФТП сервера II




   Наверх