edit Я должен был упомянуть, что я пытаюсь сделать это с Delphi 2006.
ОК, я думаю, что я задал вопрос без предыдущих ответов.
У меня есть база данных SQL Server со столбцами типа datetime
. Когда я пытаюсь вставить строку с параметризованной командой, я получаю
Exception class EOleException with message
'[Microsoft][ODBC SQL Server Driver]Optional feature not implemented'.
Моя процедура вставки выглядит следующим образом:
procedure TForm1.btnZoomClick(Sender: TObject);
const
InsCmd = 'insert into dbo.foo (added, edited, editor, narrative) ' +
'values (:dateAdded, :dateEdited, :theEditor, :theNarrative);';
begin
dmDbToy2.DataModule2.ADOCommand1.CommandText := InsCmd;
with DataModule2.ADOCommand1.Parameters do
begin
// the following line was an attempt to trick VarAsType into making a
// adDbTimeStamp: VarAsType is having none of it.
// FindParam('dateAdded').Value := VarAsType(VarFromDateTime(Now), 135);
FindParam('dateAdded').Value := VarFromDateTime(Now);
FindParam('dateEdited').Value := Null;
FindParam('theEditor').Value := 'wades';
FindParam('theNarrative').Value := Null;
end;
DataModule2.ADOCommand1.Execute;
end;
Я нашел некоторые сообщения через google , которые, кажется, указывают, что SQL Server хочет тип adDbTimeStamp
для обновления этих столбцов, но VarAsType не хочет делать его для меня.
Есть ли способ создать значение для параметров dateAdded
и dateEdited
в примере кода?