Форум: "Базы";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
ВнизПередача параметров в SQL запросе. Найти похожие ветки
← →
Soft (2002-08-24 15:55) [0]Произвожу запрос в базу 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 заставить передавать кроме номера еще и имя параметров?
← →
Desdechado (2002-08-24 17:43) [1]попробуй параметры назвать по-другому, не как поля
← →
Soft (2002-08-24 19:46) [2]А они и названы по другому id и параметр id1. Вопрос не в названии, а в том, что BDE это название не передает, а только номер параметра, из-за этого глюки. Как заставить BDE передавать имя параметров?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c