SQL запрос и формат строки
QueryOper->SQL->Text=("Select * From Oper where Date > #"+QuerySvod->FieldByName("Res")->Value+"# ");
//Res содержит дату 13.12.2007
так как формат даты не правильный запрос неотробатывает,
подскажите как можно привести 13.12.2007 к 13/12/2007
("Select * From Oper where Date > #" +
StringReplace(QuerySvod->FieldByName("Res")->Value, ".", "/", TReplaceFlags() << rfReplaceAll) +
"# ");
все работает, темма закрыта
("Select * From Oper where Date > #" +
StringReplace(QuerySvod->FieldByName("Res")->Value, ".", "/", TReplaceFlags() << rfReplaceAll) +
"# ");
все работает, темма закрыта
Многократно тему поднимали и многократно уже объясняли - для того, что бы не было проблем - используйте параметры. Для передачи - дат, чисел, строк - ИСПОЛЬЗУЙТЕ ПАРАМЕТРЫ! Не нужно делать все через ж... изобретая замены и прочее - ИСПОЛЬЗУЙТЕ ПАРАМЕТРЫ!
к стати, на счет параметров...
как правильно организовать в ран-тайме параметр типа ftBlob для TADOQuery или TADOStoredProc ? (СУБД MSSQL 2005)
ADOQuery1->SQL->Text = "insert into Obj (ObjBody) values (:@Body)";
ADOQuery1->Parameters->CreateParameter("@Body", ftVarBytes, pdInput, 2147483647, NULL); // ОШИБКА: приложение использует для текущей операции значение неверного типа
ADOQuery1->Parameters->ParamByName("@Body")->LoadFromFile(OpenDialog1->FileName, ftBlob); ADOQuery1->ExecSQL();
как правильно организовать в ран-тайме параметр типа ftBlob для TADOQuery или TADOStoredProc ? (СУБД MSSQL 2005)
ADOQuery1->SQL->Text = "insert into Obj (ObjBody) values (:@Body)";
ADOQuery1->Parameters->CreateParameter("@Body", ftVarBytes, pdInput, 2147483647, NULL); // ОШИБКА: приложение использует для текущей операции значение неверного типа
ADOQuery1->Parameters->ParamByName("@Body")->LoadFromFile(OpenDialog1->FileName, ftBlob); ADOQuery1->ExecSQL();
Используйте форматирование кода. В вашем коде нет необходимости вызывать CreateParameter - параметр уже добавлен.