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

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

Как добавить время [D6, IB6.x]


suharew ©   (2005-09-04 11:31:00) 

Есть БД Interbase.
Делаю Sql запрос

k:='insert into smena (data,time_p,time_r) value ("'+datetostr(date)+'","'+timetostr(time)+'","13:15:00"');


пишет ошибку invalid modify request conversion error from string "13:15:00"
тип поля time_r = timestamp.
как правильно добавлять значения к полям типа дата и время.


  (2005-09-04 20:41:00) [1]

Удалено модератором


  (2005-09-04 20:33:00) [2]

Удалено модератором


suharew   (2005-09-04 17:56:00) [3]

Все понял будем дальше разбираться. СПАСИБО ВСЕМ.


Zacho   (2005-09-04 17:52:00) [4]

suharew   (04.09.05 17:47) [9]

Ты не тупой, просто мог бы внимательнее читать сообщения об ошибках :)

> У меня просто Tquery

Следовательно, BDE. Где это указывается в BDE - просто уже не помню, и вообще настоятельно рекомендую перейти на другие компоненты доступа, например IBX.


Anatoly Podgoretsky   (2005-09-04 17:51:00) [5]

Tquery это БДЕ, так что забудь про диалект 3


suharew   (2005-09-04 17:47:00) [6]

Ладно не буду. И не обижайтесь что я такой тупой, я просто только начал осваивать все это.

Итак база есть с диалектом 3.
Как тогда, вернее где указать что подключаюсь я с диалектом 3.
У меня просто Tquery там я выбрал DatebaseName и все работаю  SQL запросами.  И как видно ничего не получается.


Zacho   (2005-09-04 17:41:00) [7]

Блин, надо и создавать БД и подключаться к БД в одном и том же диалекте.
А твоя ошибка возникает потому, что ты создал БД в диалекте 3, а подключился к ней с диалектом 1.

И вообще, не используй эту гадость - IBConsole.


suharew   (2005-09-04 17:36:00) [8]

Я создавал БД через IBConsole там нажал Create database и указал диалект 3, потом создаю таблицу

create table sss (date date, tim time)

пишет ошибку: Client SQL dialect 1 does not supported reference to TIME datatype SQL wrining code = 301
DATE data type is now called TIMESTAMP.

Как такое может быть я же вроде создавал базу в 3 диалекте


Zacho   (2005-09-04 17:22:00) [9]

Для этого нужно поле типа TIME. И естественно, БД в диалекте 3. Не только указать диалект 3 при подключении, но сама БД должна быть в диалекте 3.


suharew   (2005-09-04 17:21:00) [10]

Ладно я с этим разобрался. тип Поля у меня TimeStamp Если запихиваю туда дату то всо нормально, а если время то получается в этом поле содержится дата и время: 30.12.1899 17:14:00. как сделать чтоб только время было тут.


suharew   (2005-09-04 15:15:00) [11]

поставил диалект 3. а толку никакого.
На дату почемуто не ругается, а на время ругается. Незнаю что уже делать.

Пробовал через параметры указать

query1.sql.add('insert into smena (data,time_p) value ("'+datetostr(date)+'",:t');
query1.parambyname('t').value:=time;


ругается, говорит что параметр не найден. Подскажите как быть с параметром.


Anatoly Podgoretsky   (2005-09-04 14:53:00) [12]

Нужен диалект 3


Eagle Owl   (2005-09-04 14:40:00) [13]

Для операций с датами в SQL должны быть свои функции (по крайней мере в MySQL есть) - почитайте документацию к Interbase.


suharew   (2005-09-04 13:22:00) [14]

подскажите тогда какой тип поля надо ставить для даты и для времени. при создании таблицы для даты ставил тип DATE а при просмотре через IBConsole пишет тип TIMESTAMP.
И когда я создавал БД там было поле SQL Dialect я ставил 1. какой надо ставить этот диалект и что ето такое.


Наверх

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