Using C# 2.0 & SQL Server 2000, have a stored procedure that return 0, 1, or
more rows. At least one of the columns is a date and it may null. I have
created an XSD of the output from the stored proc. The entry for the
nullable date column is "<xs:element name="Sent_Dttm" minOccurs="0"
type="xs:dateTime" nillable="true"></xs:element>". I copied the XSD to the
C# 2.0 windows app I am developing and it nicely generates a strongly typed
dataset.

The problem is I get an error when attempting to access this column in the
dataset when the value is null:
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public System.DateTime Sent_Dttm {
get {
try {
return
((System.DateTime)(this[this.tableOwizCommDoc.Sent_DttmColumn]));
}
catch (System.InvalidCastException e) {
throw new System.Data.StrongTypingException("The
value for column \'Sent_Dttm\' in table \'OwizCommDoc\' is DBNull.", e);
}
}
set {
this[this.tableOwizCommDoc.Sent_DttmColumn] = value;
}
}


Checking the properties of this field, I noticed that the "NullValue"
property has a value of "(throw exception)'

Re: Null Dates in Dataset by Rachel

Rachel
Thu Oct 25 13:33:35 PDT 2007

In article <F82909CD-DEBB-457A-AC69-DED1C4D72BE5@microsoft.com>,
RobertEFlaherty@discussions.microsoft.com says...
> Using C# 2.0 & SQL Server 2000, have a stored procedure that return 0, 1, or
> more rows. At least one of the columns is a date and it may null. I have
> created an XSD of the output from the stored proc. The entry for the
> nullable date column is "<xs:element name="Sent_Dttm" minOccurs="0"
> type="xs:dateTime" nillable="true"></xs:element>". I copied the XSD to the
> C# 2.0 windows app I am developing and it nicely generates a strongly typed
> dataset.
>
> The problem is I get an error when attempting to access this column in the
> dataset when the value is null:
> [System.Diagnostics.DebuggerNonUserCodeAttribute()]
> public System.DateTime Sent_Dttm {
> get {
> try {
> return
> ((System.DateTime)(this[this.tableOwizCommDoc.Sent_DttmColumn]));
> }
> catch (System.InvalidCastException e) {
> throw new System.Data.StrongTypingException("The
> value for column \'Sent_Dttm\' in table \'OwizCommDoc\' is DBNull.", e);
> }
> }
> set {
> this[this.tableOwizCommDoc.Sent_DttmColumn] = value;
> }
> }
>
>
> Checking the properties of this field, I noticed that the "NullValue"
> property has a value of "(throw exception)'
>
>
>
>

Robert,
Try checking for System.DbNull before accessing the variable and that
should help you out.

Re: Null Dates in Dataset by Jim

Jim
Thu Oct 25 14:11:11 PDT 2007

This is by design. The strongly typed dataset will have a method (not
property) IsSent_DttmNull() if the underlying column can be null.

if (!IsSent_DttmNull) {access the value}

"Rachel Appel" <none@example.com> wrote in message
news:MPG.218ac7a7b92c306989680@msnews.microsoft.com...
> In article <F82909CD-DEBB-457A-AC69-DED1C4D72BE5@microsoft.com>,
> RobertEFlaherty@discussions.microsoft.com says...
>> Using C# 2.0 & SQL Server 2000, have a stored procedure that return 0, 1,
>> or
>> more rows. At least one of the columns is a date and it may null. I
>> have
>> created an XSD of the output from the stored proc. The entry for the
>> nullable date column is "<xs:element name="Sent_Dttm" minOccurs="0"
>> type="xs:dateTime" nillable="true"></xs:element>". I copied the XSD to
>> the
>> C# 2.0 windows app I am developing and it nicely generates a strongly
>> typed
>> dataset.
>>
>> The problem is I get an error when attempting to access this column in
>> the
>> dataset when the value is null:
>> [System.Diagnostics.DebuggerNonUserCodeAttribute()]
>> public System.DateTime Sent_Dttm {
>> get {
>> try {
>> return
>> ((System.DateTime)(this[this.tableOwizCommDoc.Sent_DttmColumn]));
>> }
>> catch (System.InvalidCastException e) {
>> throw new System.Data.StrongTypingException("The
>> value for column \'Sent_Dttm\' in table \'OwizCommDoc\' is DBNull.", e);
>> }
>> }
>> set {
>> this[this.tableOwizCommDoc.Sent_DttmColumn] = value;
>> }
>> }
>>
>>
>> Checking the properties of this field, I noticed that the "NullValue"
>> property has a value of "(throw exception)'
>>
>>
>>
>>
>
> Robert,
> Try checking for System.DbNull before accessing the variable and that
> should help you out.



Re: Null Dates in Dataset by RobertEFlaherty

RobertEFlaherty
Thu Oct 25 14:35:01 PDT 2007

The issue is that I'm getting bounced in a section of the code automatically
generated when I add an XSD file to the project. If I start going in and
changing generated code than I am defeating the advance of the code
generation.

I was hoping that there was a way of influencing the code generation. Is
there?

"Jim Rand" wrote:

> This is by design. The strongly typed dataset will have a method (not
> property) IsSent_DttmNull() if the underlying column can be null.
>
> if (!IsSent_DttmNull) {access the value}
>
> "Rachel Appel" <none@example.com> wrote in message
> news:MPG.218ac7a7b92c306989680@msnews.microsoft.com...
> > In article <F82909CD-DEBB-457A-AC69-DED1C4D72BE5@microsoft.com>,
> > RobertEFlaherty@discussions.microsoft.com says...
> >> Using C# 2.0 & SQL Server 2000, have a stored procedure that return 0, 1,
> >> or
> >> more rows. At least one of the columns is a date and it may null. I
> >> have
> >> created an XSD of the output from the stored proc. The entry for the
> >> nullable date column is "<xs:element name="Sent_Dttm" minOccurs="0"
> >> type="xs:dateTime" nillable="true"></xs:element>". I copied the XSD to
> >> the
> >> C# 2.0 windows app I am developing and it nicely generates a strongly
> >> typed
> >> dataset.
> >>
> >> The problem is I get an error when attempting to access this column in
> >> the
> >> dataset when the value is null:
> >> [System.Diagnostics.DebuggerNonUserCodeAttribute()]
> >> public System.DateTime Sent_Dttm {
> >> get {
> >> try {
> >> return
> >> ((System.DateTime)(this[this.tableOwizCommDoc.Sent_DttmColumn]));
> >> }
> >> catch (System.InvalidCastException e) {
> >> throw new System.Data.StrongTypingException("The
> >> value for column \'Sent_Dttm\' in table \'OwizCommDoc\' is DBNull.", e);
> >> }
> >> }
> >> set {
> >> this[this.tableOwizCommDoc.Sent_DttmColumn] = value;
> >> }
> >> }
> >>
> >>
> >> Checking the properties of this field, I noticed that the "NullValue"
> >> property has a value of "(throw exception)'
> >>
> >>
> >>
> >>
> >
> > Robert,
> > Try checking for System.DbNull before accessing the variable and that
> > should help you out.
>
>
>

Re: Null Dates in Dataset by Cor

Cor
Fri Oct 26 05:02:33 PDT 2007

Robert,

If a column allows nulls, then there is in your strongly typed dataset
created a method named as IsTheFieldNameNull()

If the DataBase does not allows Nulls, then it is of course a normal error.

Cor


Re: Null Dates in Dataset by RobertEFlaherty

RobertEFlaherty
Fri Oct 26 13:25:01 PDT 2007

As I pointed out earlier, the error is occurring in code generated when I
copied an XSD file to my C# 2.0 project. The line of code that I manually
generated is "ds.Load(rdr, LoadOption.OverwriteChanges, new String[] {
"OwizCommFaxDoc" });" where ds has been defined as an instance of the
strongly typed dataset.

The line from the XSD that defines the offending column is "<xs:element
name="Sent_Dttm" minOccurs="0" type="xs:dateTime"
nillable="true"></xs:element>
" minOccurs="1" type="xs:string"></xs:element>






"Cor Ligthert[MVP]" wrote:

> Robert,
>
> If a column allows nulls, then there is in your strongly typed dataset
> created a method named as IsTheFieldNameNull()
>
> If the DataBase does not allows Nulls, then it is of course a normal error.
>
> Cor
>