471,073 Members | 1,134 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,073 software developers and data experts.

Converting an empty textbox to a null datetime field...

I am using vb.net 2005 and SQL server 2000. In my table I have a date field
of type "smalldatetime". In my vb application, the user may or may not enter
a date value into the appropriate text box. I then want to pass the value of
this text box as a datetime variable to my stored procedure which inserts or
updates the row.

As I mentioned above, the textbox may be left blank - hence I would want to
pass a null to the stored proc. How do I convert from an empty string
(textbox) to a datetime field so as to pass a null value into my stored
procedure?

I know that I could just skip sending this parameter at all and let my
stored procedure do it but I am using a class and I really do not want to
place any real logic in there. I just want to pass what I have - and that
could be a null value if the text box is left empty.

Every time I attempt to set a variable defined as datetime =
cdate(txtdateField.text) or by using Convert.ToDateTime(txtdatefield.text) I
get an error that "Conversion from 'DBNull' to type 'Date' is not valid."

Does anyone have any experience with what I am describing here and if so,
how did you get around it? Basically I just want to convert an empty string
to a null datetime variable!

Thanks, Brad

Jul 16 '07 #1
1 30543
"Brad Pears" <br***@truenorthloghomes.comschrieb
I am using vb.net 2005 and SQL server 2000. In my table I have a
date field of type "smalldatetime". In my vb application, the user
may or may not enter a date value into the appropriate text box. I
then want to pass the value of this text box as a datetime variable
to my stored procedure which inserts or updates the row.

As I mentioned above, the textbox may be left blank - hence I would
want to pass a null to the stored proc. How do I convert from an
empty string (textbox) to a datetime field so as to pass a null
value into my stored procedure?

I know that I could just skip sending this parameter at all and let
my stored procedure do it but I am using a class and I really do not
want to place any real logic in there. I just want to pass what I
have - and that could be a null value if the text box is left empty.

Every time I attempt to set a variable defined as datetime =
cdate(txtdateField.text) or by using
Convert.ToDateTime(txtdatefield.text) I get an error that
"Conversion from 'DBNull' to type 'Date' is not valid."

Does anyone have any experience with what I am describing here and
if so, how did you get around it? Basically I just want to convert
an empty string to a null datetime variable!

'loading:

If FieldFromDatabase Is DBNull.Value then
txtDatefield.text = string.empty
else
txtDatefield.text = FieldFromDatabase.ToString
end if
'saving (no validation included!):

if txtDateField.text.length = 0 then
'assign DBNull.Value to the destination. If you
'use Parameters with an SQLCommand object, you set
'the parameter's value to DBNull.Value
<destination= DBNull.Value
else
<Destination= cdate(txtDateField.text)
end if
Of course, you should put the code into procedures, or, derive your own
Textbox (eg NullableDatetimeTextbox) from the Textbox class that handles all
this.
Armin

Jul 16 '07 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Thierry | last post: by
2 posts views Thread by GossTremontTech | last post: by
3 posts views Thread by Dabbler | last post: by
reply views Thread by M | last post: by
reply views Thread by leo001 | last post: by

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.