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

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

Передача параметров в SQL запросе. [D5, Sybase ASA6.0.3]


Soft ©   (2002-08-24 15:55:00) 

Произвожу запрос в базу Sybase ASA6.0.3 с передачей параметров

Query1.SQL.Clear;
Query1.SQL.Add("insert into logs(id,hostname) values(:id1,:hostname1);");
Query1.ParamByName("id1").AsInteger:=2;
Query1.ParamByName("hostname1").AsString:="gidota";
Query1.ExecSQL;

При запуске SQL монитора отлавливаю как BDE передает параметры
SQL Prepare: Adaptive Server Anywhere 6.0 - insert into logs(id,hostname) values(?,?);
SQL Data In: Adaptive Server Anywhere 6.0 - Param = 1, Name = , Type = fldINT32, Precision = 0, Scale = 0, Data = 1
SQL Data In: Adaptive Server Anywhere 6.0 - Param = 2, Name = , Type = fldZSTRING, Precision = 6, Scale = 0, Data = gidota
SQL Execute: Adaptive Server Anywhere 6.0 - insert into logs(id,hostname) values(?,?);

И при этом выдается ошибка
SQL Error: Adaptive Server Anywhere 6.0 - [Sybase][ODBC Driver][Adaptive Server Anywhere]Count field incorrect: Not enough values for host variables

Это глюк можно исправить, если при передаче параметров в Name=Имя_параметра, а не пустая строка Name = ,.

Как BDE заставить передавать кроме номера еще и имя параметров?


Soft   (2002-08-24 19:46:00) [1]

А они и названы по другому id и параметр id1. Вопрос не в названии, а в том, что BDE это название не передает, а только номер параметра, из-за этого глюки. Как заставить BDE передавать имя параметров?


Desdechado   (2002-08-24 17:43:00) [2]

попробуй параметры назвать по-другому, не как поля


Наверх

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