Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Про DBNull.Value, вопрос / 5 сообщений из 5, страница 1 из 1
31.08.2004, 09:33
    #32672531
Mr.Buba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про DBNull.Value, вопрос
Столкнулся вот с такой ситуацией:

требуется вставить запись в базу с полем типа DATE (Oracle), которое может содержать любой значение или Null. При попытке записать в это поле Null, выдается вот такое сообщение: Object cannot be cast from DBNull to other types. Код примерно такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
OracleConnection conn = ...
OracleCommand cmd = conn.CreateCommand( ... )
cmd.Parameters.Add( "par" OracleType.DateTime).IsNullable = true;
...
cmd.Parameters["par"] = DBNull.Value;
...
cmd.ExecuteNonQuery()    // exception ! 

Это баг ?

P.S.: На Java аналогичный код работает на ура, правда в Java не нужно использовать какой-либо обьект для указания того что значение null !
...
Рейтинг: 0 / 0
31.08.2004, 09:50
    #32672561
Mr.Buba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про DBNull.Value, вопрос
Нашел ответ тут


ИМХО, непонятный для меня Атстой, почему нельзя записать NULL !?
Java (Sun) - рулез форева :)
...
Рейтинг: 0 / 0
31.08.2004, 10:50
    #32672703
gerss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про DBNull.Value, вопрос
А
Код: plaintext
cmd.Parameters["par"].Value = DBNull.Value
не пройдет?

Сергей
...
Рейтинг: 0 / 0
31.08.2004, 12:00
    #32672933
Mr.Buba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про DBNull.Value, вопрос
gerssА
Код: plaintext
cmd.Parameters["par"].Value = DBNull.Value
не пройдет?

Сергей

НЕТ
...
Рейтинг: 0 / 0
31.08.2004, 18:30
    #32674120
viper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про DBNull.Value, вопрос
Mr.BubaНашел ответ тут


ИМХО, непонятный для меня Атстой, почему нельзя записать NULL !?
Java (Sun) - рулез форева :)

RTFM:
In database applications, a null object is a valid value for a field. This class differentiates between a null value (a null object) and an uninitialized value (the DBNull.Value instance)
Если позволить писать просто возникает неоднозначность
Например:
Код: plaintext
1.
object obj = null;
cmd.Parameters["par"].Value = obj;

Попробуй так:
cmd.Parameters["par"].Value = System.Data.OracleClient.OracleDateTime.Null


PS И флейм разводить не стоит, этот вопрос (Java vs C#) горячо обсуждался в форуме Программирование...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Про DBNull.Value, вопрос / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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