C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TADOQuery->Parameters, непонятная ОШибка
AndreyAGSoft
  Отправлено: 10.07.2003, 08:58


Ученик-кочегар

Группа: Участник
Сообщений: 14



Может кто подскажет где ошибка(Сообщение-"Слишком мало параметров. Требуетс я 2")
//***********************
TADOQuery *A=new TADOQuery(this);
A->Connection=Connection;//Connection -определён.
A->ParamCheck=false;
if(A->Parameters->Count<2)
{
TParameter *p=A->Parameters->AddParameter();
p->Name="l";
TParameter *p1=A->Parameters->AddParameter();
p1->Name="l1";
}
A->Parameters->Items[0]->Value=DB;//Дата
A->Parameters->Items[1]->Value=DB1;//дата

A->SQL->Add("select * from datval where num="+IntToStr(DIND/*Зараннее определён*/)+"and date>=:l and date<=:l1");
A->Active=true;
telig
  Отправлено: 10.07.2003, 11:00


Ученик-кочегар

Группа: Участник
Сообщений: 8



Тут имхо проблема в запросе. Дата должна заключена быть в одинарные кавычки или ## или еще как нибудь в зависимости от СУБД
Nick
Отправлено: 14.07.2003, 08:15


Машинист паровоза

Группа: Участник
Сообщений: 247



QUOTE (AndreyAGSoft @ 10/07/2003, 10:00)

A->Connection=Connection;//Connection -определён.
A->ParamCheck=false;
if(A->Parameters->Count<2)
{
TParameter *p=A->Parameters->AddParameter();
p->Name="l";
TParameter *p1=A->Parameters->AddParameter();
p1->Name="l1";
}

Интересно.
В ADO разве нужны эти лишние телодвижения?
В IBQuery если создаешь запрос с помощью
A->SQL->Add и в запросе имеется конструкция ":ipDate1" к примеру
то сразу после этого можно
A->ParamByName("ipDate1")->AsDate = DB;
или
A->Parameters->Items[0]->Value = DB;

Вернуться в Работа с базами данных в C++Builder