我有被存放在之前的日期從填充壓延這種格式29/07/2012將字符串轉換成datetime VB.net
我想這個轉換爲datetime數據類型的字符串變量這種格式的SQL數據庫2012-07-29 00:00:00:000
The error message i'm getting at the minute is:
"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value."
下面是一些代碼:
Dim strDate As String = ""
Dim cmd2 As New SqlCommand("sp_Return6MonthTotal")
Dim strTotalHours6Month As Integer = 0
cmd2.Connection = con1
cmd2.CommandType = Data.CommandType.StoredProcedure
cmd2.Parameters.Add(New SqlParameter("@ServiceNumber", Data.SqlDbType.Char, 11))
cmd2.Parameters.Add(New SqlParameter("@OvertimeDate2", Data.SqlDbType.DateTime))
cmd2.Parameters("@ServiceNumber").Value = strServiceNumber
cmd2.Parameters("@OvertimeDate2").Value = strDate
If cmd2.ExecuteScalar() Is DBNull.Value Then
Label17.Text = "0"
Label21.Text = "0"
Else
strTotalHours6Month = cmd2.ExecuteScalar()
Label17.Text = strTotalHours6Month
Label21.Text = Math.Round(strTotalHours6Month/6)
End If
Dim cmd3 As New SqlCommand("sp_ReturnMonthTotal")
Dim strTotalHours As Integer = 0
cmd3.Connection = con1
cmd3.CommandType = Data.CommandType.StoredProcedure
cmd3.Parameters.Add(New SqlParameter("@ServiceNumber", Data.SqlDbType.Char, 11))
cmd3.Parameters.Add(New SqlParameter("@OvertimeDate2", Data.SqlDbType.DateTime))
cmd3.Parameters("@ServiceNumber").Value = strServiceNumber
cmd3.Parameters("@OvertimeDate2").Value = strDate
Stored procedures:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_ReturnMonthTotal]
@ServiceNumber varchar(100),
@OvertimeDate2 datetime
AS
SELECT sum(hoursworked) from overtime where servicenumber = @ServiceNumber and month(CONVERT(datetime, OvertimeDate2, 103)) = month(CONVERT(datetime, @OvertimeDate2, 103)) and year(CONVERT(datetime, OvertimeDate2, 103)) = year(CONVERT(datetime, @OvertimeDate2, 103))
-------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_Return6MonthTotal]
@ServiceNumber varchar(100),
@OvertimeDate2 datetime
AS
SELECT sum(hoursworked) from overtime where servicenumber = @ServiceNumber and overtimedate2 >= DATEADD(month, -6, CONVERT(datetime, @OvertimeDate2, 103))
對不起我的編程知識不是很大,我沒有這個代碼所以希望這樣做對某人感覺。
你可以提供有問題的一些代碼? – 2012-08-02 10:49:40
[你試過什麼](http://whathaveyoutried.com)?什麼代碼給你那個錯誤? – Oded 2012-08-02 10:50:14
不要忘記標記爲接受,如果它適合你... – 2012-08-02 11:06:07