![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ClientDataSet [D6, Win2k]
Huk © (2006-01-31 13:14:00)Добрый день, мастера!
Есть такая связка: TADODataSetLoader.LoadFromFile->Insert to TClientDataset->TDataProvider->TADODatasetPoster
При ClientDataSet.ApplyUpdates(-1) шлются запросы на вставку записей в базу.
Проблему с полями типа TDateTime.
В самой базе поле типа datetime. Смотрю что идет на вставку профайлером, там :
exec sp_executesql N'insert into table1
(id, Date1)
values
(@P1, @P2)
', N'@P1 int, @P2 datetime', 1, 'Oct 26 2005 10:24AM'
И я теряю миллисекунды - идет почему-то округление.
Insert to TClientDataset:
Это просто цикл по всем записям и по всем полям.
а значение в поля TClientDataset заносятся через Assign.
Кто что посоветует? Может кто сталкивался?
Сервер MS SQL 2000
Huk (2006-02-01 11:42:00) [1]2 sniknik © - спасибо, заюзал FormatDateTime + 'yyyymmdd hh:mm:ss.zzz' + StringReplace - миллисекунды пошли. Большой сенкс.
Huk (2006-01-31 14:25:00) [2]
> формировать лучше в представлении "yyyymmdd hh:mm:ss.fff"
> (или : вместо . в конце, а впрочем может и так и так "взять")
yyyymmdd hh:mm:ss.zzz - кажется
А как на лету тип поля вместо датывремя сделать строка?
Huk (2006-01-31 14:23:00) [3]Т.е самому строить insert into?
А было так все просто...
sniknik (2006-01-31 14:22:00) [4]формировать лучше в представлении "yyyymmdd hh:mm:ss.fff" (или : вместо . в конце, а впрочем может и так и так "взять")
sniknik (2006-01-31 14:18:00) [5]если нужны милисекунды то ничего не остается как формировать строковый параметр с датойвременем. т.к. параметры передаются через варианты, а у датавремени в вариантном представлении их нет... ;(
(обсуждалось както)