Solved

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

Posted on 2009-04-06
1
706 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

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that undeā€¦
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
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.

747 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now