curADOQuery->SQL->Clear();
curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom)");
curADOQuery->SQL->Add("and (EvDate <= :dateto) order by EvDate");
curADOQuery->Parameters->ParamByName("datefrom")->Value = value1;
curADOQuery->Parameters->ParamByName("dateto")->Value = value2;
curADOQuery->Open();
С++Builder6 + SQL
Скажите пожалуйста в чем разница?
1) curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom)");
curADOQuery->SQL->Add(" and (EvDate <= :dateto) order by EvDate");
2) curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom) and (EvDate <= :dateto) order by EvDate");
Первый вариант не работает, второй работает.
В чем дело?
Цитата: TheMustafa
Здравствуйте!
Скажите пожалуйста в чем разница?
1) curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom)");
curADOQuery->SQL->Add(" and (EvDate <= :dateto) order by EvDate");
2) curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom) and (EvDate <= :dateto) order by EvDate");
Первый вариант не работает, второй работает.
В чем дело?
Скажите пожалуйста в чем разница?
1) curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom)");
curADOQuery->SQL->Add(" and (EvDate <= :dateto) order by EvDate");
2) curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom) and (EvDate <= :dateto) order by EvDate");
Первый вариант не работает, второй работает.
В чем дело?
Разницы нет никакой. Значит ошибка не в этих строчках, а где-то еще
curADOQuery->Parameters->CreateParameter("datefrom",ftString,pdInput,0,NULL);
curADOQuery->Parameters->ParamByName("datefrom")->Value = value1; curADOQuery->Parameters->CreateParameter("dateto",ftString,pdInput,0,NULL);
curADOQuery->Parameters->ParamByName("dateto")->Value = value2;
Здесь есть ошибка?
Цитата: TheMustafa
Перед теми строками идут эти:
curADOQuery->Parameters->CreateParameter("datefrom",ftString,pdInput,0,NULL);
curADOQuery->Parameters->ParamByName("datefrom")->Value = value1; curADOQuery->Parameters->CreateParameter("dateto",ftString,pdInput,0,NULL);
curADOQuery->Parameters->ParamByName("dateto")->Value = value2;
Здесь есть ошибка?
curADOQuery->Parameters->CreateParameter("datefrom",ftString,pdInput,0,NULL);
curADOQuery->Parameters->ParamByName("datefrom")->Value = value1; curADOQuery->Parameters->CreateParameter("dateto",ftString,pdInput,0,NULL);
curADOQuery->Parameters->ParamByName("dateto")->Value = value2;
Здесь есть ошибка?
Как-то странно видеть создание параметров и присвоение значений до заполнения строки запроса. У меня всегда работает такой порядок:
Код:
Попробуйте этот вариант. И проверьте чтобы curADOQuery->ParamCheck = true
Цитата: Nick_M
Как-то странно видеть создание параметров и присвоение значений до заполнения строки запроса. У меня всегда работает такой порядок:
Попробуйте этот вариант. И проверьте чтобы curADOQuery->ParamCheck = true
Код:
curADOQuery->SQL->Clear();
curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom)");
curADOQuery->SQL->Add("and (EvDate <= :dateto) order by EvDate");
curADOQuery->Parameters->ParamByName("datefrom")->Value = value1;
curADOQuery->Parameters->ParamByName("dateto")->Value = value2;
curADOQuery->Open();
curADOQuery->SQL->Add("select * from currentTable where (EvDate >= :datefrom)");
curADOQuery->SQL->Add("and (EvDate <= :dateto) order by EvDate");
curADOQuery->Parameters->ParamByName("datefrom")->Value = value1;
curADOQuery->Parameters->ParamByName("dateto")->Value = value2;
curADOQuery->Open();
Попробуйте этот вариант. И проверьте чтобы curADOQuery->ParamCheck = true
Попробовал. Теперь выдает следующее: "Неправильно определен объект Parameter. Предоставлены несовместимые или неполные сведения."
А какая база данных?
Цитата: Nick_M
А какая база данных?
Access2003