Автор Олег Махонин задал вопрос в разделе Другие языки и технологии
Помогите с Delphi и получил лучший ответ
Ответ от ...[гуру]
Кодировку при передаче параметров проверьте.
Кст. используя такие конструкции, Вы делаете программу/базу данных _ОЧЕНЬ_ уязвимой к атаке через SQL Injection...
Понимаю, что для теста и для дома сойдёт, но вообще стоит задуматься.
P.S: Выведите значения с помощью ShowMessage что там в ParamStr(2) и ParamStr(3). К сожалению целиком код не виден, потому судить сложно.
...
Просветленный
(44018)
Посмотрите перед sql:=....чему равен ParamStr(2) и 3
ShowMessage("2:" + ParamStr(2));
ShowMessage("3:" + ParamStr(3));
Напишите что получилось.
Ответ от Алексей Крюков[гуру]
>> ADOQuery1.Parameters.ParamByName('pDate').value:=ParamStr(1);
В данном случае, как я понимаю, ParamStr(1) имеет тип string.
ParamByName('pDate').value, как я понимаю имеет тип Variant.
Я так понимаю, ParamStr(1) содержить дату? Под датой я понимаю значение типа TDate (TDateTime)???
Если так, то код должен выглядеть примерно так:
ADOQuery1.Parameters.ParamByName('pDate').value:=StrToDate(ParamStr(1));
Если этого не сделать, то параметру вы передаете строку, а не дату.
Ну и почитайте HELP относительно функции StrToDate;
>> ADOQuery1.Parameters.ParamByName('pDate').value:=ParamStr(1);
В данном случае, как я понимаю, ParamStr(1) имеет тип string.
ParamByName('pDate').value, как я понимаю имеет тип Variant.
Я так понимаю, ParamStr(1) содержить дату? Под датой я понимаю значение типа TDate (TDateTime)???
Если так, то код должен выглядеть примерно так:
ADOQuery1.Parameters.ParamByName('pDate').value:=StrToDate(ParamStr(1));
Если этого не сделать, то параметру вы передаете строку, а не дату.
Ну и почитайте HELP относительно функции StrToDate;
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Помогите с Delphi
Delphi. Проблемы с компонентом MonthCalendar
>MonthCalendar1.Date := 01/01/2016 не помогает
Ну да, если дату на 0 установить - он
подробнее...
спросили в Субд
Формат даты в SQL запросе в Delphi, база MS Access
.. where dt>\"#01/11/2011#
А вот чтобы не выёживаться всякий раз с форматами
подробнее...
Формат даты в SQL запросе в Delphi, база MS Access
.. where dt>\"#01/11/2011#
А вот чтобы не выёживаться всякий раз с форматами
подробнее...
вопрос по делфи)дата-время
var
ss:string;
td:TDateTime;
begin
ss:=\'13.02.11 12:56:23\'; //твоя строка
подробнее...
Преобразование типа Дата в другой формат на Delphi.
1 function DateToStr ( Date : TDateTime ) : string;
2 function DateToStr ( Date :
подробнее...