powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ошибка формата Даты при инсерте в БД МС СКЛ 2008
11 сообщений из 11, страница 1 из 1
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839686
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю инсерт даты в БД мс скл 2008
но ругается

Выполнение данной инструкции было прервано.
Преобразование типа данных char в тип данных datetime привело к значению datetime за пределами диапазона.

DateTimePicker13.Value="22/12/2014 14:20:45"
DateTimePicker15.Value="26/12/2014 15:45:45"

sql_zapros = "set dateformat 'dmy'; insert into task (start_dt,end_dt,type) values ('" & DateTimePicker13.Value & "','" & DateTimePicker15.Value& "')"

connection.Close()
connection.Open()
Dim myCommand3 As New OleDbCommand( sql_zapros , connection)
myCommand3.ExecuteNonQuery()
connection.Close()


в базе тип столбца datetime
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839695
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используйте параметры
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839697
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
values ('" & DateTimePicker13.Value & "
надо форматировать дату явно, а не полагаться на автоматическое преобразование.
Лучше в ANSI: самый однозначный формат
yyy-MM-dd hh:mm:ss

ЗЫ:
DateTimePicker13.Value="01/02/2014 14:20:45"
подумай, что будет тут, 1 февраля или 2 января?
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839703
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините но не очень понял. можете по подробнее с примерам? Спасибо
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839754
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База MSSQL2005 Express
SQL_Ukrainian_CP1251_CI_AS
английская версия
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839757
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про параметры вам уже сказали. А для MS SQL, если передавать дату как строку, чтобы не зависеть от текущих настроек, пишут в формате YYYY-MM-DD HH:MM:SS.FFF
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839834
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данный скрипт работает успешно в Microsoft SQL Server Management Studio 10.0.5500.0, но этот же скрипт запускаю в программе не работает:
insert into task (start_dt,end_dt) values ('2014/12/22','2014/12/22')


connection.Close()
connection.Open()
Dim myCommand3 As New OleDbCommand("insert into task (start_dt,end_dt) values ('2014/12/22','2014/12/22')", connection)
myCommand3.ExecuteNonQuery()
connection.Close()

это же ошибка:

Выполнение данной инструкции было прервано.
Преобразование типа данных char в тип данных datetime привело к значению datetime за пределами диапазона.
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839844
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shohданный скрипт работает успешно в Microsoft SQL Server Management Studio 10.0.5500.0, но этот же скрипт запускаю в программе не работает:
insert into task (start_dt,end_dt) values ('2014/12/22','2014/12/22')


connection.Close()
connection.Open()
Dim myCommand3 As New OleDbCommand("insert into task (start_dt,end_dt) values ('2014/12/22','2014/12/22')", connection)
myCommand3.ExecuteNonQuery()
connection.Close()

это же ошибка:

Выполнение данной инструкции было прервано.
Преобразование типа данных char в тип данных datetime привело к значению datetime за пределами диапазона.

Вы читать умеете? Я же вам сказал, нужно не 2014/12/22 , а 2014-12-22. В вашем случае порядок следования месяцев, дней и лет перепутан.
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839847
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
insert into task (start_dt,end_dt) values ('2014/12/22','2014/12/22')



выполните в SSMS , чтобы исправить надо использовать стандарт YYYYMMDD строкового представления даты для SQL
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839851
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все же, на каком этапе отказались от параметров запроса?
Код: c#
1.
SqlCommand.Parameters.AddWithValue("dmy", new DateTime(...));
...
Рейтинг: 0 / 0
Ошибка формата Даты при инсерте в БД МС СКЛ 2008
    #38839865
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ошибка формата Даты при инсерте в БД МС СКЛ 2008
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]