Здравствуйте, zje, Вы писали:
zje>Что-то совсем запутался...
zje>Проблема в следующем: в таблице есть поле типа DateTime, нужно обеспечить ввод в одной колонке грида даты, во второй колонке времени. И сохранить обратно всё в это поле.
zje>Используется SQL Server 2000, BCB6, связь с базой через ADO.
zje>Порылся в инете, и как то безрезультатно.
zje>Направьте, хоть в какую сторону копать..Спасибо.
Не понимаю, какие могут быть проблемы.
Если у вас скажем грид это обычный TStringGrid, отвязанный от таблицы и вы сохраняете SQL-запросом (что идеологически правильно), то либо так:
AnsiString datetimestr = "06.06.2007 10:12:42";
ADOQuery1->SQL->Text = AnsiString("INSERT INTO tabDates(datecol) VALUES(CAST('") +
datetimestr +
AnsiString("' AS datetime))");
ADOQuery1->ExecSQL();
Либо сложнее:
TDateTime dtValue = StrToDateTime(datetimestr);
ADOQuery1->SQL->Text = "INSERT INTO tabDates(datecol) VALUES(:DTParam)";
ADOQuery1->ParamByName("DTParam")->AsDateTime = dtValue;
ADOQuery1->ExecSQL();
Если у вас TDBGrid, что неправильно зато просто, то там вообще никаких проблем нет просто редактируется в ячейке. Ну можно для красоты календарь подвесить.