Re[2]: TADOQuery и параметры запроса
От: _Oswald_ Украина  
Дата: 07.06.04 13:52
Оценка:
Здравствуйте, Romull, Вы писали:

R>Попробуйте такой код:

R>
R>Variant vParam;
R>vParam = Variant(num_id);
R>RQuery->SQL->Text = "SELECT TypeId FROM Meterings WHERE NumberId = :NumId";
R>RQuery->Parameters->ParseSQL(RQuery->SQL->Text, true);
R>query->Parameters->ParamValues["NumId"]=vParam;
R>RQuery->Open();
R>

Вы знаете, доктор, помогает .
Но теперь мне интересно чисто теоретически, почему не получается через CreateParameter?
В Билдере с АДО не работал практически, поэтому делал как когда-то с БДЕ-шной TQuery, так там с этим все нормально было.
А тут такое

R>На мой взгляд sizeof(vParam) здесь вообще не в кассу:

R>RQuery->Parameters-> CreateParameter("NumId", ftInteger, Adodb::pdInput, sizeof(vParam), vParam);
Ну не знаю, делал как в хелпе:

TParameter* __fastcall CreateParameter(const WideString Name, Db::TFieldType DataType, TParameterDirection Direction, int Size, const OleVariant &Value);

Size is an integer value indicating the maximum size of the parameter’s value.

Хотя проблема не в этом, потому как пробовал и так, например:
RQuery->Parameters-> CreateParameter("NumId", ftInteger, pdInput, 1, 0);
O(.,.)O
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.