Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2009, 00:07   #1
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию Ошибка при вводе даты

пытаюсь вввести данные в таблицу:
Код:
insert into Firma values (12,  'Улица_1, д.1',   1538891703935 ,    'Firm_1',   2 ,   '12/02/2007'  ,   1  );
получаю сообщение
Код:
"Сообщение 8115, уровень 16, состояние 2, строка 1
Arithmetic overflow error converting expression to data type int".
При создании таблицы поле с датой задавал таким образом:

Код:
reg_date datetime check(reg_date>='01/01/1950' AND reg_date<='31/12/2009') NOT NULL,
Что можно предпринять в таком случае?
tools вне форума Ответить с цитированием
Старый 05.11.2009, 00:24   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Попробуйте заменить слэши на точки.
И указывайте какая база...
mihali4 вне форума Ответить с цитированием
Старый 05.11.2009, 00:28   #3
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а у меня вот подозрение, что ошибка в этом месте
Код:
1538891703935
для integer и впрямь немало
З.Ы.: и чтобы самому яснее было стОит все-таки указывать список полей на вставку
З.Ы.2: и чтобы нам было понятнее - стОит указывать ДДЛ создания таблицы (а то мало ли какие там еще неявные преобразования...)
soleil@mmc вне форума Ответить с цитированием
Старый 05.11.2009, 00:36   #4
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

mihali4, soleil@mmc спасибо вам большое, действительно ошибка оказалась в слишком большом числе, Integer не подходит для такого случая, спасибо огромное
tools вне форума Ответить с цитированием
Старый 05.11.2009, 02:05   #5
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

ХМ, тему прошу не закрывать, так возникла повторно проблема похожая. теперь точно связанная с датой. Составил вот такую таблицу:

Код:
CREATE TABLE FIRMA
(FIRM_NUMBER INT CHECK(FIRM_NUMBER>=1 AND FIRM_NUMBER<=99) primary key,
ur_adress_firm char(50) not null,

gos_reg_nomer int check(gos_reg_nomer>=000000000 and gos_reg_nomer<=999999999) not null unique,

nazv_firm char(30) check ((nazv_firm>='А' and nazv_firm<='я') or (nazv_firm>='A' and nazv_firm<='z') or nazv_firm='' or nazv_firm='-') not null,

nomer_tipa_firm int check(nomer_tipa_firm>=1 and nomer_tipa_firm<=99) foreign key references Firm_type(nomer_tipa_firm)not null,

reg_date datetime check(reg_date>='01/01/1950' AND reg_date<='31/12/2900') NOT NULL,

#_sobstv int check(#_SOBSTV>=1 AND #_SOBSTV<=999) foreign KEY references SOBSTVENNIK(#_sobstv)not null);
Т.е. имеются поля: номер фирмы, юридический адрес, гос.регистр. номер,название фирмы, номер типа фирмы, дата регистрации, номер собственника.
Пытаюсь ввести данные с помощь Insert:

Код:
insert into Firma values (12,  'Петроградская Сторона, Большой пр-т, д. 67',   153889170 ,         'BERTOLINI MARMI GRANITI',    2,    '12.02.2007 ',   1  );
insert into Firma values (21,  'Нахимовский пр-т, д. 24',                       159171025,        'ALPARY',                   4,    '24/05/2008' ,  2 );
insert into Firma  values (35, 'Поморская ул., д. 9',                          562278803215,        'RAMO',                   12,    '01/12/2009',  3);
insert into Firma  values (78, 'Бухарестская ул., д. 144А',                      184281179,        'FORESTA',                  24,    '27/08/2006',  4 );
insert into Firma  values (59, 'Складочная ул., д. 1, корп. 5, оф. 2207',         578865704,       'SWIG',                     6,   '22/10/2009',  5  );
insert into Firma  values (11, 'Рузовская ул., д. 16',                             869620417,    'TRIVE',                  7,    '20/08/2008',  6);
insert into Firma  values (9,  'ул.Республиканская ул., д. 27',                    217433960,     'АКТЭН',                    19,   '03/10/2009',  7);
insert into Firma  values (4,  'Хуторская 2-я ул., д. 38А, стр. 1',                 645345945,   'АМИ',                     56,   '28/09/2009',  8);
insert into Firma  values (56, 'Рябиновая ул., д. 41, корп. 1',                     913656211,   'БЕРСОНИ',                40,    '04/12/1998',  9);
insert into Firma  values (98, 'Электродная ул., д. 9Б',                            153445662,   'БЕСТВИНД',               22,  	'12/06/2001',  10);
insert into Firma  values (77, 'Красноармейская ул., д. 166',                     749653370,      'ГЕРДА',                    37,    '21/07/2003',  11);
insert into Firma  values (19, 'ул. Благодатная, д.46',                             189647548,   'AIRWELL',                48,    '04/11/1996',  12);
insert into Firma  values (44, 'Переяславская Б. ул., д. 7',                       327635134,     'ЕВРОСЕРВИС',              80,    '15/10/2004',  13);
insert into Firma  values (36, 'Ленинский пр-т, д. 42, корп. 6, оф.62-23',         694672443,    'НАВИГАТОР',                26,    '27/03/2005' ,  14 );
insert into Firma  values (50, 'Маяковского ул., д. 16',                            173680119,    'ФОНОН',                   32,    '18/06/1990',   15 );
В итоге при попытке выполнения выдается сообщение для каждой строки:
Код:
Сообщение 242, уровень 16, состояние 3, строка 1
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated
Подскажите, пожалуйста в чем ошибка? И как ее избежать...
tools вне форума Ответить с цитированием
Старый 05.11.2009, 09:39   #6
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

похоже на мсскл
ну раз тебе захотелось поэкспериментировать с форматами даты, то при вставке тебе придется их переводить в дату
soleil@mmc вне форума Ответить с цитированием
Старый 05.11.2009, 21:12   #7
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

обнаружил ошибочку: формат даты должен быть следующим 'месяц-число-год' , а я делал число-месяц-год
tools вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при вводе в DBEdit Evgenii БД в Delphi 3 05.08.2009 20:39
Ошибка при вводе данных с ограниченной структурой pav-pas БД в Delphi 4 17.07.2009 16:53
разделители при вводе даты:вопрос Evgenii БД в Delphi 3 29.06.2009 05:22
Ограничение на знаки при вводе на C Tesmont Помощь студентам 3 14.05.2009 15:08
Проблемка при вводе чисел at10 Microsoft Office Excel 4 02.12.2007 22:22