Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запрос с параметром и без


Delphist2 ©   (2010-03-24 23:08:00) 

Когда я задаю запрос:
adoquery1.SQL.Text:='select * from Таблица where (Наименование=:par1)';
adoquery1.Parameters.ParamByName('par1').Value:=listbox1.Items.Strings[i];


то не находится вообще ничего, хотя должно. А когда я переписываю запрос:
adoquery1.SQL.Text:='select * from Таблица where (Наименование='+quotedstr(listbox1.Items.Strings[i])+')';
то все находится на тех же данных. Что не так в первом примере?

Типы параметра пробовал разные: ftWideString, ftString, еще всякие.


sniknik   (2010-03-25 11:41:00) [1]

> D7, Access
хм... ну тогда компоненты типа TNT.


sniknik   (2010-03-25 11:39:00) [2]

> Что не так в первом примере?
запрос и параметр это разные объекты, и может быть запрос в ansi а параметр в юникоде (или наоборот), а во втором случае ты неявно приводишь к чему то одному...

была бы указана версия дельфи было бы проще... но очевидно используется 2009/2010.

Плохиш ©   (24.03.10 23:17) [1]
> А если
> ...
а если там наоборот? ...

Плохиш ©   (24.03.10 23:28) [2]
> Хотя, скушно, неуказано ни версия делфи, ни бд.
+1
вообще не хотел отвечать из-за этого, но иногда хочется и от на работы отвлечься а интересного нет...


Delphist2   (2010-03-25 10:25:00) [3]


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

русские наименования берутся в скобки когда больше одного слова, т. е. когда есть пробел.

D7, Access. Значение параметра - просто строка. А трассировка - это ход выполнения запроса? Ну там скорее всего типа нет таких элементов, и все. Типа не нашлось. Ошибок, исключений нет. А откуда взять трассировку?


Anatoly Podgoretsky   (2010-03-25 05:17:00) [4]

> Плохиш  (24.03.2010 23:28:02)  [2]

Ни значение параметра, ни трассировка не проведена. Типичный партизан и не лечится.


Плохиш   (2010-03-24 23:28:00) [5]

Хотя, скушно, неуказано ни версия делфи, ни бд.


Плохиш   (2010-03-24 23:17:00) [6]

А если

adoquery1.SQL.Text:='select * from Таблица where (Наименование=:par1)';
adoquery1.Prepared := true;
adoquery1.Parameters.ParamByName('par1').DataType := ftString;
adoquery1.Parameters.ParamByName('par1').Value:=listbox1.Items.Strings[i];

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо