How to set DateTime variable to Null in C#?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello,

I have a system where it gets its data from a file that is provided
periodically. There are cases where many values such as dates are blank.

Considering DateTime variable doesn't accept null, and SQL Server doesn't
accept DateTime.MinValue...

What is the solution to deal with these kind of cases? I probably could
create some work around to send some awkword value that SQL accept and then
treat it from there, but to me there should be some other practical solution
for this!??
(btw: my company hasn't updated to 2.0 yet)

Thanks for your response in advance,
Reza
 
Hi,

DateTime is a value type, it cannot represent null (or DBNull)

simple way is just to set it to DateTime.MinValue and when setting values
for stored proc parameters, check for DateTime.MinValue, and when that's the
value send null to the database (set DBNull.Value to be param value)
 
Reza,

Just replace nulls with something suitable for your code when you read, and
do the opposite when you write. That's what I am doing and I don't think
there is anything more elegant.

Eliyahu
 
Prior to v2, I used to use a separate class for this. Basically, it
simulated the nullable datatype functionality built into v2. I.e. instead of
declaring a DateTime variable / object / class (whatever you want to call
it), I'd declare a NullableDateTime variable, which has a Value property, a
HasValue property etc.

I can let you have a copy of it if you like...
(btw: my company hasn't updated to 2.0 yet)

As soon as you upgrade, you'll be able to do this:

DateTime? dtmTest = null;

if (dtmTest.HasValue)
{
// write the value into the database
}
else
{
// write a NULL into the database
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top