Solved

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

Posted on 2009-04-06
1
727 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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 eBook: Backup on AWS

Everything you need to know about backup and disaster recovery with AWS, for FREE!

Question has a verified solution.

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

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
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 shrink a transaction log file down to a reasonable size.

688 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