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

Discussion in 'Microsoft VB .NET' started by Brad Pears, Jul 16, 2007.

  1. Brad Pears

    Brad Pears Guest

    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
     
    Brad Pears, Jul 16, 2007
    #1
    1. Advertisements

  2. "Brad Pears" <> schrieb
    > 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
     
    Armin Zingler, Jul 16, 2007
    #2
    1. Advertisements

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Henry
    Replies:
    1
    Views:
    588
    Herfried K. Wagner [MVP]
    Mar 8, 2004
  2. Andrew Baker
    Replies:
    1
    Views:
    972
    Robin Tucker
    Jul 2, 2004
  3. Guest
    Replies:
    2
    Views:
    816
    Herfried K. Wagner [MVP]
    Apr 12, 2005
  4. Replies:
    3
    Views:
    778
  5. cj2

    check if field is empty/nothing/null????

    cj2, Nov 21, 2008, in forum: Microsoft VB .NET
    Replies:
    4
    Views:
    291
    JimmyKoolPantz
    Nov 23, 2008
Loading...

Share This Page