![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
привет
![]() возникла такая проблема необходимо внести в поле которое имеет формат-время,пустое значение Для этого ничего не прописываю в textBox1(в котором нужно указать дату), но мне выдается ошибка Additional information: Failed to convert parameter value from a String to a DateTime. что делать? СУБД:Oracle 10g(XE) Среда разработки: VS2005 Заранее благодарен за помощь) Это сообщение отредактировал(а) Alex_79 - 30.5.2008, 11:47 |
|||
|
||||
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
Вы ответы-то хоть читаете?
![]() Использование следующего типа также правомерно
-------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
Walker,
Error 2 Argument '7': cannot convert from 'System.DateTime?' to 'string' DateTime? m=null-вот это использовал |
|||
|
||||
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
![]() Покажите код. Если текстовое поле пустое - в базу пишите null, как есть, без преобразования типов. Если читаете из Базы - разрешите приём null, и, если оно встретится, просто никуда его не выводите и не к чему не приводите. Это сообщение отредактировал(а) Walker - 30.5.2008, 12:11 -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
Добавлено @ 12:10 textBox8 -это дата[code=csharp] Это сообщение отредактировал(а) Alex_79 - 30.5.2008, 12:16 |
|||
|
||||
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
Отредактируйте, Пожалуйста, сообщение. Выделите код, нажмите сверху кнопку Код - выберите C#. Улучшится читабельность, - поможем Вам разобраться.
Код надо реорганизовать. Подождите немного. Это сообщение отредактировал(а) Walker - 30.5.2008, 12:14 -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
Walker, так если нет ничего в textBox8 , он мне потом выдает ошибку что не возможно конвертировать String в DataTime
|
|||
|
||||
Walker |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
По Вашему случаю:
Если Вы пишете в самом условии
то зачем в теле условной конструкции ссылатся на содержимое этих текстбоксов? Почему сразу не отправить null? На будущее: вместо
используйте
Его сигнатура
Почувствуйте разницу... Это сообщение отредактировал(а) Walker - 30.5.2008, 12:25 -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
||||||||
|
|||||||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
если ставлю просто null то выдает ошибку
Additional information: Failed to convert parameter value from a String to a DateTime. |
|||
|
||||
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
На какой строке вылетает ошибка? Гда происходит попытка преобразования в DateTime? -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
} } Добавлено через 36 секунд на m вылетает |
|||
|
||||
Walker |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
Этого я не понял.
Где в приведённой выше строке textBox8, null, etc связанное с датой? -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
||||
|
|||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
кстати я обновляю данные
Добавлено через 1 минуту и 59 секунд если textBox8 пуст, то я вставляю не его значение, а m |
|||
|
||||
Magnifico |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 2 Всего: 17 |
по примеру между комментариями
-------------------- Всё в порядке - спасибо зарядке ! |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 1 Всего: 92 |
Ты null в Convert.ToDecimal передаёшь, а не в сам Update. Так?
|
|||
|
||||
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: нет Всего: 16 |
В общем, действуйте по следующей схеме.
В Oracle разрешайте типизированному столбцу приём null. Полагаю, это уже сделано. Если Вам требуется обновлять значения только при пустых полях, отправляйте туда прямо null, без кастинга. Если Вам требуется обновлять любыми значениями из полей, то - создайте переменную значимого типа с разрешением null и инициализируйте её null. - напишите метод с конструкцией try...catch, который будет предпринимать попытку приведения string к значимому типу или используйте TryParse. Если исключение приведения не выбрасывается - записывайте полученное значение. Если же брошено - оставьте исходное значение null. Записывайте в базу значение переменной. Удачи! Ого, как опередили. ![]() Это сообщение отредактировал(а) Walker - 30.5.2008, 12:52 -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
Alex_79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 4.5.2007 Репутация: нет Всего: нет |
Любитель, я не над Convert.ToDecimal , мне нужно в базу внести пустое значение (тип-дата)
|
|||
|
||||
akizelokro |
|
||||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
На будущее, используйте не так, а
и вообще всегда используйте Trim() для удаления возможных краевых пробелов. Во избежании ошибок. Это принято в веб-программировании, предполагается желательным и в программировании с использованием WinForms. Есть два варианта решения проблемы null-значений в DateTime полях. Первая, - условиться, что для них будеть использоваться фактически недостижимое значение. Для MS SQL это '01.01.1910' (если ваша база данных не касается старожилов). Второй,- когда вы юзаете все-таки null-значения, то указано у Magnifico. Возможно, при этом придется переделать форму UpdateCommand, если указанный у него способ не решает проблему "в лоб". -------------------- a = a + b; b = a - b; a = a - b; |
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 1 Всего: 92 |
IsNullOrEmpty - это статик метод класса string. |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Лопухнулся. Спасибо за замечание. Text.Trim().IsNullOrEmpty() - неточно. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |