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

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

Сообщение, результата запроса, убрать [D6, mdb]


Страницы:   1 2

YurkaT ©   (2006-11-14 08:39:00) 

есть таблица, в которой, ключ. поле, в формате дата,время,
примерно раз в секунду, в базу кое чё записуется...
раз в несколько часов, вываливается, сообщение, о том что такое ключевое, поле уже есть, видать, из-за погрешности таймера, или ado(неважно)...
как убрать что-бы, ето сообщение не показывалось,
оно конечно не критично, но всё же....
кто знает подскажите PLS...


DVM   (2006-11-14 13:10:00) [21]


> a в access нету...

Преобразовать дату в число миллисекунд, писать число в базу.

Только все таки изврат это. Есть же нормальный счетчик.


Anatoly Podgoretsky   (2006-11-14 13:09:00) [22]

> DVM  (14.11.2006 12:44:10)  [10]

У баз нет такого типа TDateTime


Percent   (2006-11-14 13:03:00) [23]

В ТDateTime они же есть

В Delphi - есть.
Не факт, что в mdb есть.
Надо документацию читать или проверять.


sniknik   (2006-11-14 13:03:00) [24]

> Ну писать миллисекунды туда. В ТDateTime они же есть.
a в access нету... (во всяком случае в справке не описаны, и функции типа Now(), Time() в запросах тоже результат без миллисекунд выдают)
менять базу придется. (для нормальной работы... так то можно заменить тип на доубле к примеру, и обработку/приведение делать самостоятельно, но это упариться можно ;)


DVM   (2006-11-14 12:44:00) [25]


> Проблема то не в этом, но в течение одной секунды, эти самые
> секунды одинаковы.

Ну писать миллисекунды туда. В ТDateTime они же есть.


Anatoly Podgoretsky   (2006-11-14 12:37:00) [26]

> DVM  (14.11.2006 12:01:08)  [8]

Проблема то не в этом, но в течение одной секунды, эти самые секунды одинаковы.


DVM   (2006-11-14 12:01:00) [27]


> только не надо писать примерно раз в секунду, ерунда такая
> получается.

Что же это за БД будет, если раз в секунду для нее проблема.

> Percent   (14.11.06 11:55) [7]

Единственно правильное решение.


Percent   (2006-11-14 11:55:00) [28]

1. Добавить автоинкрементное поле.
2. Сделать его (поле) первичным ключом.
3. Забыть о проблеме.


Anatoly Podgoretsky   (2006-11-14 11:36:00) [29]

> ANB  (14.11.2006 10:41:05)  [5]

Вполне нормально, только не надо писать примерно раз в секунду, ерунда такая получается.


ANB   (2006-11-14 10:41:00) [30]

ИМХО - некузяво делать поле даты-времени первичным ключом.


Рамиль   (2006-11-14 08:58:00) [31]


> Для записи в БД с частотой 1 сек это будет самый неправильный
> способ, ИМХО.

Зависит базы. Если кроме него в нее никто не пишет и не читает, то вполне нормально:)


Sergey13   (2006-11-14 08:50:00) [32]

> [2] Рамиль ©   (14.11.06 08:46)

> Лучше, конечно, проектировать правильно. Или сделать выборку
> с датой, которую хочешь записать, если выборка не пустая,
> то ничего не писать.

Для записи в БД с частотой 1 сек это будет самый неправильный способ, ИМХО.


Рамиль   (2006-11-14 08:46:00) [33]

try
 MyTable.Append;
 ...
except
 if not {тут проверяем, точно ли эта ошибка} then raise
end

Лучше, конечно, проектировать правильно. Или сделать выборку с датой, которую хочешь записать, если выборка не пустая, то ничего не писать.


Sergey13   (2006-11-14 08:42:00) [34]

Обработать исключительную ситуацию в коде, где "в базу кое чё записуется".


Страницы:   1 2

Наверх

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