Re: Редактирование TDateTime в DBGDrid
От: Tilir Россия http://tilir.livejournal.com
Дата: 06.06.07 06:36
Оценка:
Здравствуйте, 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, что неправильно зато просто, то там вообще никаких проблем нет просто редактируется в ячейке. Ну можно для красоты календарь подвесить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.