Solved

Passing Time Value from ASP.Net VB page to SQL 2008 Time Parameter

Posted on 2009-04-06
1
718 Views
Last Modified: 2013-11-05
I have a text box on an ASP.net page that will be used to enter a time that will be stored in a SQL 2008 Time format data field.  Using the code below I get the message:  "Failed to convert parameter value from a String to a TimeSpan"

VB.Net does not seem to have a variable type to go with SQL 2008's new Time type.

Can anyone suggest how to get this to work... Change from string to another type on the vb.net side... change the Data.SqlDBType.Time to something else?

More info:  It works if I try to save any of the following:  12:45, 22:00, etc.  It does not work if I try to save 12:45PM.  I can make it work if I use 24 hour format, but I wonder if there's a way to save it using AM/PM?





Dim strHoseTestOrRepairTime As String = Nothing
 
            If Len(Trim(Me.textTestOrRepairTime.Text)) > 0 Then
                strHoseTestOrRepairTime = Trim(Me.textTestOrRepairTime.Text)
            Else
                strHoseTestOrRepairTime = "00:00"
            End If
 
            Dim myParameterTestOrRepairTime As New SqlParameter("@CHTRTime", Data.SqlDbType.Time)
            myParameterTestOrRepairTime.Direction = Data.ParameterDirection.Input
            myParameterTestOrRepairTime.Value = strHoseTestOrRepairTime
            myCommand.Parameters.Add(myParameterTestOrRepairTime)

Open in new window

0
Comment
Question by:TimSledge
1 Comment
 
LVL 4

Accepted Solution

by:
TimSledge earned 0 total points
ID: 24081970
I found the answer myself.

You can capture, for example, 10:45PM as a string, the place it in the parameter using this format:  myParameterTestOrRepairTime.Value = DateTime.Parse("10:45PM").TimeOfDay


   If Len(Trim(Me.textTestOrRepairTime.Text)) > 0 Then
                strHoseTestOrRepairTime = Trim(Me.textTestOrRepairTime.Text)
            Else
                strHoseTestOrRepairTime = "00:00:00"
            End If
 
            Dim myParameterTestOrRepairTime As New SqlParameter("@CHTRTime", Data.SqlDbType.Time)
            myParameterTestOrRepairTime.Direction = Data.ParameterDirection.Input
            myParameterTestOrRepairTime.Value = DateTime.Parse(strHoseTestOrRepairTime).TimeOfDay
            myCommand.Parameters.Add(myParameterTestOrRepairTime)

Open in new window

0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question