Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TimeStamp в MS SQL


Ярослав ©   (2005-02-15 20:43:00) 

Подскажите как пользоваться типом поля TimeStamp в MS SQL, вкрнее как сним работать из Delphi. В книге по MS SQL рекомендуют при обновлении записи писать запрос вида:
Update Table1
set field1='aaa'
where ts=:ts
где ts это поля типа TimeStamp.
Но в Delphi у меня не получилось сохранить это поле в какую либо переменную для последующй передачи в качестве параметра.


sniknik   (2005-02-17 08:43:00) [1]

не, не получится, чтобы оно было типа TLargeInt в дельфях (кстати для ADO нет такого .AsInt64) надо в запросе приведение сделать (cast). а так оно типа ftBytes будет
> equivalent to a binary(8)

"прямо" c этого типа будет примерно так  
var
 Per: Int64;
begin
 ADODataSet1.FieldByname('xxx').GetData(@Per);

или
var
 Buf: array[0..7] of bytes;
 Per: Int64 absolute Buf;
begin
 ADODataSet1.FieldByname('xxx').GetData(Buf);

проверь, должно работать, я возможно тоже проверю, потом, может быть (та в какомто случае GetData дает на пару байт больше чем длинна типа, если varbinary то еще и в начале (но это уже точно), если будет с ошибками вываливаться... ну понятно тогда)
опять застал, на работу собираюсь ;о))


Anatoly Podgoretsky   (2005-02-17 07:42:00) [2]

Select * from
Затем щелкаешь два раза по датасет для добавления полей и смотришь тип поля в инспекторе, наверно окажется TLargeInt


Ярослав   (2005-02-17 06:28:00) [3]

К сожелению не получилось, если не трудно можно выложить пример?


sniknik   (2005-02-16 08:26:00) [4]

действительно

timestamp
A database-wide unique number that gets updated every time a row gets updated.
...
A nonnullable timestamp column is semantically equivalent to a binary(8) column. A nullable timestamp column is semantically equivalent to a varbinary(8) column.

надо сказать тут они "соригинальначали" в других серверах (IB) это название вполне определенного типа.

в дельфях можно привести в int64 (тоже 8), или к массиву (не так удобно работать)
если не получится пиши, дойду на работу набросаю пример. (но вообшето сложностей не должно возникнуть)


Ярослав   (2005-02-16 08:01:00) [5]

Но в MS SQL TimeStamp не имеют никакого отношения к дате или времени.


Anatoly Podgoretsky   (2005-02-15 20:52:00) [6]

В Дельфи они будут представлены как TDateTime


Наверх

Титульная страница Поиск, карта сайта Написать письмо