Error converting data type nvarchar to datetime?

I'm getting the error "Error converting data type nvarchar to datetime" on the following line:

            cmd.Parameters.AddWithValue("@startTime", row("startTime")).Value = If(row("startTime").ToString.Length = 0, DBNull.Value, row("startTime"))

Open in new window


In the Database table this column ("startTime") is defined as a DateTime data type. Is there a better way to code this line?

Thanks!
BlakeMcKennaAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Jacques Bourgeois (James Burger)Connect With a Mentor PresidentCommented:
Look at the way you DataTable is built and the type of row("startTime")).Value in the debugger. If the "StartTime" field is a datetime field from the start, then something is wrong if row("startTime")).Value is a String, which is what the error message seems to imply.

The problem could also come from the fact that you are sending row("startTime") as the value of the parameter. This is an Object, the system converts it as it sees fit, and it might decide to convert it to a String. You might be better of forcing a date:

CDate(row("startTime")))
0
 
Ron MalmsteadInformation Services ManagerCommented:
That line looks fine..

However, in your update or insert statement.. try the following...

StartTime=Convert(datetime,@startTime)
0
 
BlakeMcKennaAuthor Commented:
James,

I tried your solution and that worked!

Thanks!
0
All Courses

From novice to tech pro — start learning today.