2014-02-04 4 views
0

Я продолжаю получать то, что мой sdate не получил значения.sdate Параметр не имеет значения по умолчанию

procedure TForm1.Button12Click(Sender: TObject); 
var 
    sdate : string; 
begin 
    sDate := inputbox('Date', 'Enter Date', ''); 
    CDQuery.Active := False; 
    CDQuery.SQL.Text := 'Select Ownername, DateOfBirth from Owner_Table where DateOfBirth < Datevalue(sdate)'; 
    CDQuery.Active := True; 
end; 
+0

[Что такое сообщение об ошибке? Это ошибка компилятора или ошибка времени выполнения? В какой строке это происходит?] (Http://stackoverflow.com/questions/how-to-ask) –

ответ

1

Вы не связали sDate с вашим оператором SQL. Вы просто положили его внутри строки. Вам необходимо сделать что-то вроде этого:

sDate := inputbox('Date', 'Enter Date', ''); 
    CDQuery.Active := False; 
    CDQuery.SQL.Text := 'Select Ownername, DateOfBirth from Owner_Table where DateOfBirth < DateValue(:sdate)'; 
    CDQuery.Parameters.ParamByName('sdate').Value := sDate; 
    CDQuery.Active := True; 
+0

Спасибо, что это работает !!! – user3270200

+0

приветствуется. Пожалуйста, отметьте его как принятый ответ, чтобы повысить рейтинг приемлемости и побудить других отвечать на ваши вопросы в будущем. –

Смежные вопросы