473,511 Members | 14,981 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

converting system.dbnull to system.string

HI all,

I have a column value returned to a string variable in my c# app. But the
return type is of system.dbnull. How can I convert that to a system.sting

Thanks
Robert
Dec 2 '06 #1
9 34657
Hi Robert,

object value = row["column"];

string str = (value is DBNull) ? null : (string) value;

--
Dave Sexton

"Robert Bravery" <me@u.comwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
HI all,

I have a column value returned to a string variable in my c# app. But the
return type is of system.dbnull. How can I convert that to a system.sting

Thanks
Robert


Dec 2 '06 #2
Hello Robert,

Just call ToString() on the value returned. DbNull.String() will return string.empty.

Alternatively, if you want null returned then you'll have to convert if yourself.
A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}

....

string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
HI all,

I have a column value returned to a string variable in my c# app. But
the return type is of system.dbnull. How can I convert that to a
system.sting

Thanks
Robert


Dec 2 '06 #3
HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();

But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}

I'm new to this, so no guessing why I am confused now

Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
Hello Robert,

Just call ToString() on the value returned. DbNull.String() will return
string.empty.
>
Alternatively, if you want null returned then you'll have to convert if
yourself.
A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}

...

string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
HI all,

I have a column value returned to a string variable in my c# app. But
the return type is of system.dbnull. How can I convert that to a
system.sting

Thanks
Robert



Dec 2 '06 #4
Hi Robert,

When using a Typed DataSet you must check first if the column contains a
DBNull value:

string dbnString;

if (cuser.IsFirstNameNull())
dbnString = null;
else
dbnString = cuser.FirstName;

--
Dave Sexton

"Robert Bravery" <me@u.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();

But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}

I'm new to this, so no guessing why I am confused now

Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
>Hello Robert,

Just call ToString() on the value returned. DbNull.String() will return
string.empty.
>>
Alternatively, if you want null returned then you'll have to convert if
yourself.
>A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}

...

string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
HI all,

I have a column value returned to a string variable in my c# app. But
the return type is of system.dbnull. How can I convert that to a
system.sting

Thanks
Robert




Dec 2 '06 #5
Hello Robert,

From the code snippet it looks like you're using a strongly typed data set.
I was assuming you were iterating over an IDataReader. Have a look at the
XSD for your dataset (or have a look at it in the DataSet designer). I bet
that the "NullValue" property for the FirstName column is "(Throw)". Look
for msprop:nullValue="_throw" in the XSD.

More information here: http://msdn2.microsoft.com/en-us/lib...az(vs.71).aspx

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();
But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an
exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}
I'm new to this, so no guessing why I am confused now

Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
>Hello Robert,

Just call ToString() on the value returned. DbNull.String() will
return
string.empty.
>Alternatively, if you want null returned then you'll have to convert
if
yourself.
>A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}
...

string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
>>HI all,

I have a column value returned to a string variable in my c# app.
But the return type is of system.dbnull. How can I convert that to a
system.sting

Thanks
Robert

Dec 2 '06 #6
I should have added, there are 3 ways to configure your typed dataset's handling
of null values (per column):

- Throw an exception if a null is encountered (the default)
- Return null
- Return string.Empty

Your typed data set is using the default. .NET Reflector shows that this
is the only use of the StrongTypingException type.

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
Hello Robert,

From the code snippet it looks like you're using a strongly typed data
set. I was assuming you were iterating over an IDataReader. Have a
look at the XSD for your dataset (or have a look at it in the DataSet
designer). I bet that the "NullValue" property for the FirstName
column is "(Throw)". Look for msprop:nullValue="_throw" in the XSD.

More information here:
http://msdn2.microsoft.com/en-us/lib...az(vs.71).aspx

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
>HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();
But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an
exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}
I'm new to this, so no guessing why I am confused now
Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft. com...
>>Hello Robert,

Just call ToString() on the value returned. DbNull.String() will
return
string.empty.
>>Alternatively, if you want null returned then you'll have to convert
if
yourself.
>>A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int
column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}
...
string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
HI all,

I have a column value returned to a string variable in my c# app.
But the return type is of system.dbnull. How can I convert that to
a system.sting

Thanks
Robert

Dec 2 '06 #7
Thanks Dave and Stefan,
Im off to try youre suggestions
And yes, I am using a string typed dataset.

Robert

"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
I should have added, there are 3 ways to configure your typed dataset's
handling
of null values (per column):

- Throw an exception if a null is encountered (the default)
- Return null
- Return string.Empty

Your typed data set is using the default. .NET Reflector shows that this
is the only use of the StrongTypingException type.

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
Hello Robert,

From the code snippet it looks like you're using a strongly typed data
set. I was assuming you were iterating over an IDataReader. Have a
look at the XSD for your dataset (or have a look at it in the DataSet
designer). I bet that the "NullValue" property for the FirstName
column is "(Throw)". Look for msprop:nullValue="_throw" in the XSD.

More information here:
http://msdn2.microsoft.com/en-us/lib...az(vs.71).aspx

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();
But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an
exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}
I'm new to this, so no guessing why I am confused now
Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
Hello Robert,

Just call ToString() on the value returned. DbNull.String() will
return

string.empty.

Alternatively, if you want null returned then you'll have to convert
if

yourself.

A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int
column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}
...
string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
HI all,

I have a column value returned to a string variable in my c# app.
But the return type is of system.dbnull. How can I convert that to
a system.sting

Thanks
Robert


Dec 2 '06 #8
Hi Stefan,

Note that the last two options only work when a DataColumn is typed as a
string. A Typed DataColumn will not be able to return a null reference or
string.Empty for anything other than System.String.

--
Dave Sexton

"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
>I should have added, there are 3 ways to configure your typed dataset's
handling of null values (per column):

- Throw an exception if a null is encountered (the default)
- Return null
- Return string.Empty

Your typed data set is using the default. .NET Reflector shows that this
is the only use of the StrongTypingException type.

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
>Hello Robert,

From the code snippet it looks like you're using a strongly typed data
set. I was assuming you were iterating over an IDataReader. Have a
look at the XSD for your dataset (or have a look at it in the DataSet
designer). I bet that the "NullValue" property for the FirstName
column is "(Throw)". Look for msprop:nullValue="_throw" in the XSD.

More information here:
http://msdn2.microsoft.com/en-us/lib...az(vs.71).aspx

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
>>HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();
But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an
exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}
I'm new to this, so no guessing why I am confused now
Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft .com...
Hello Robert,

Just call ToString() on the value returned. DbNull.String() will
return

string.empty.

Alternatively, if you want null returned then you'll have to convert
if

yourself.

A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int
column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}
...
string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
HI all,
>
I have a column value returned to a string variable in my c# app.
But the return type is of system.dbnull. How can I convert that to
a system.sting
>
Thanks
Robert


Dec 2 '06 #9
DAve,
Thanks for this. It is good to know.
A lot to learn, especially when comming from a very differnt programming
background

Robert

"Dave Sexton" <dave@jwa[remove.this]online.comwrote in message
news:%2******************@TK2MSFTNGP05.phx.gbl...
Hi Stefan,

Note that the last two options only work when a DataColumn is typed as a
string. A Typed DataColumn will not be able to return a null reference or
string.Empty for anything other than System.String.

--
Dave Sexton

"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft.c om...
I should have added, there are 3 ways to configure your typed dataset's
handling of null values (per column):

- Throw an exception if a null is encountered (the default)
- Return null
- Return string.Empty

Your typed data set is using the default. .NET Reflector shows that this
is the only use of the StrongTypingException type.

Cheers,
Stefan Delmarco

http://www.fotia.co.uk
Hello Robert,

From the code snippet it looks like you're using a strongly typed data
set. I was assuming you were iterating over an IDataReader. Have a
look at the XSD for your dataset (or have a look at it in the DataSet
designer). I bet that the "NullValue" property for the FirstName
column is "(Throw)". Look for msprop:nullValue="_throw" in the XSD.

More information here:
http://msdn2.microsoft.com/en-us/lib...az(vs.71).aspx

Cheers,
Stefan Delmarco
http://www.fotia.co.uk

HI Stefan,

Thanks for your reply.
I tried that, as in:
string dbnString;
dbnString = cuser.FirstName.ToString();
But still get the error:
- cuser.FirstName.ToString() 'this.cuser.FirstName' threw an
exception of
type 'System.Data.StrongTypingException' string
{System.Data.StrongTypingException}
I'm new to this, so no guessing why I am confused now
Thanks
Robert
"Stefan Delmarco" <St************@fotia.co.ukwrote in message
news:c0**************************@news.microsoft. com...
Hello Robert,

Just call ToString() on the value returned. DbNull.String() will
return

string.empty.

Alternatively, if you want null returned then you'll have to convert
if

yourself.

A little helper function... well helps:

public static object ReadNullIfDbNull(IDataReader reader, int
column)
{
object value = reader.GetValue(column);
return value == DbNull.Value ? null : value;
}
...
string column = (string)ReadNullIfDbNull(reader, 0);

Cheers,
Stefan Delmarco
http://www.fotia.co.uk
HI all,

I have a column value returned to a string variable in my c# app.
But the return type is of system.dbnull. How can I convert that to
a system.sting

Thanks
Robert


Dec 3 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
5359
by: Prabhu | last post by:
Hi, We are having problem in converting a byte array to string, The byte array has char(174), char(175), char(240), char(242) and char(247) as delimiters for the message. when we use...
2
11106
by: sbox | last post by:
I've got an error "System.FormatException: Input string was not in a correct format." while I'm implementing a datagrid and a textbox What's wrong with it? Sub Button1_Click(sender As Object, e...
4
1713
by: Tina | last post by:
I have instantiated an insertRow for a dataset. I now want to make the GLCode DBNull. I have tried: insertRow.GLCode = Convert.dbnull insertRow.GLCode = Convert.dbnull(insertRow.GLCode) and...
0
866
by: Keith Chadwick | last post by:
I have been building a class around a xml document that is the representation of several tables from our sql2k database. The class has your standard methods such as load and save but I have also...
7
30695
by: Scott | last post by:
Hello all ! I'm working on a project which needs to connect quite frequently to a database. When I'm tryin to retrieve data and some columns contain a null value, my program crashes and I get...
3
1712
by: Tom Luetz II | last post by:
I'm having some trouble with the DataAdapter in my code. When the parameter in an OleDbCommand, which is created as having a type of OleDbType.Decimal, is set to System.DbNull, the actual value...
4
13239
by: moondaddy | last post by:
How can I test to see if an object is System.DBNull? I have an event and need to get the value from a parameter like this: Private Sub ValueChanged(ByVal sender As Object, ByVal e As...
6
27295
by: cj | last post by:
in the command window I get: ? result {System.DBNull} : {System.DBNull} I need to check for this in code. I then tested in the command window if result = system.DBNull 'DBNull' is a type...
0
1464
by: paulnamroud | last post by:
Hello, I'm trying to send a Null value in a DateTime field while calling my stored procedure. If I use this first method (short with one line), i got the following error message: ...
0
7137
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
1
7074
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7506
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
5063
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3219
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3210
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1572
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
780
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
445
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.