![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить время [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. какой надо ставить этот диалект и что ето такое.