我正在尋找投下兩個變量的日期。施放兩個變量
我可以讓SQL爲鑄造一個(第一個代碼)工作,但是當我想投兩個變量時,我總是收到錯誤(請參閱下面的兩個嘗試)。
我已經搜索了雙精度型並且投了兩個變量,但雙精度型的雙精度型和變量有相同的問題。我應該尋找什麼樣的工作或者需要什麼樣的「連接」來投射兩個變量。
一個鑄造(工作)
cmd.CommandText = 「SELECT datestart,DateEnd,runcompleted FROM [tblweeklyreports]其中角色(如datestart日期)之間「」 vDateStart & & 「 '和'」 & vDateStart & 「'」
- 兩投(不工作)
sSQL = "SELECT datestart, DateEnd, runcompleted FROM [tblweeklyreports] where Cast(moduledatestart as date, moduledatecomplete as date) between '" & vDateStart & "' and '" & vDateEnd & "'"
和
sSQL = "SELECT datestart, DateEnd, runcompleted FROM [tblweeklyreports] where Cast(moduledatestart as date),(moduledatecomplete as date) between '" & vDateStart & "' and '" & vDateEnd & "'"
必須之前拿出(鏈接是我需要的,但我似乎無法尋找正確的措辭!)
-------- -----------修訂版本按照討論--------------
Dim cn As SqlConnection = New SqlConnection()
Dim cmd As SqlCommand = New SqlCommand()
Dim dr As SqlDataReader
Dim vRunCompleted As String = ""
Dim vDateStartExist As String = ""
cn.ConnectionString = ConfigurationManager.ConnectionStrings("mySQLConnectionString").ConnectionString
cmd.Connection = cn
'Open the connection to the database
cn.Open()
昏暗vDateStartDate作爲日期= vDateStart 昏暗vDateEndDate作爲日期= vDateEnd
cmd.CommandText = "SELECT * FROM [tblresults] where moduledatestart between @from and @to"
cmd.Parameters.AddWithValue("@from", vDateStart)
cmd.Parameters.AddWithValue("@to", vDateEnd)
Dim str As New StringBuilder
Dim vdrOkay As String
str.Append(Chr(34) & " Employee Id" & Chr(34) & "," & "Forename" & "," & Chr(34) & "Surname" & Chr(34) & "," & "Control 1" & "," & Chr(34) & "Control 2" & Chr(34) & "," & "Full code" & "," & "Class Name" & "," & "Year" & ",")
str.Append(Chr(34) & " Number" & Chr(34) & "," & "Class Start Date" & "," & Chr(34) & "Class End Date" & Chr(34) & "," & "Course Type" & "," & Chr(34) & "Provider Type" & Chr(34) & "," & "Provider" & "," & "Venue" & "," & "Evaluation" & "," & "Duration Hrs" & ",")
str.Replace(",", vbNewLine, str.Length - 1, 1) ' go to next line
dr = cmd.ExecuteReader()
If (dr.HasRows = True) Then
Label1.Text = "running"
While (dr.Read())
vdrOkay = Trim(StrConv(dr("EmployeeID"), VbStrConv.Uppercase))
str.Append("=" & Chr(34) & vdrOkay & Chr(34) & ",")
End While
Dim vFileName As String = Replace(vDateStart, "/", "_") & "_" & Replace(vDateEnd, "/", "_")
My.Computer.FileSystem.WriteAllText(("C:\sites\Examples\WeeklyReport\" & "ELearning_Report_" & vFileName & ".csv"), str.ToString, False)
Else
Label1.Text = "did not run"
End If
您應該使用參數化查詢。 –
編輯顯示在底部 – indofraiser