我正在使用VB的ASP.NET應用程序。我在VB文件中使用SQLReader/SQLCommand/SQLConnection來嘗試提取數據值。在VB中聲明nvarchar /在SQL查詢中匹配nvarchar
我很困惑地發現,爲什麼查詢是不返回任何值的原因,這裏有人告訴我如何解決查詢覈實事情返回,他們不是。
我跟一個同事,他問是否會匹配,因爲我正在給一個字符串,以及數據庫的文本字段是一個nvarchar。我怎樣才能在VB中聲明變量,以便作爲查詢的參數提供時,它可以匹配?
數據看起來要匹配的類型,如「2」,「2A」,「1A」只是基本的東西,等等。
如果沒有辦法只有申報nvarchar的,沒有任何人對我怎麼可能解決辦法的一項建議?
非常感謝。
邊注:這是一個延續,各種各樣的,這個問題的:SQL Reader saying no values exist, query seems fine
編輯:感謝所有幫助。我設置你喜歡你說的東西,但現在我得到一個錯誤,「沒有映射存在從對象類型System.Data.SqlClient.SqlParameter到已知的託管提供商本機類型。」
我有參數爲一個形式,廣泛變量是這樣的:
Private travelParameter As New SqlParameter("@trip", SqlDbType.NVarChar)
然後在主窗口中,
travelQuery.CommandText = "SELECT [StartLoc], [EndLoc],[TravelTime], [AvgSpeed], [Distance] FROM [TravelTimes] WHERE [TripNum] = @trip"
travelQuery.Parameters.AddWithValue("@trip", travelParameter)
後來,這樣的功能將被調用。再次
Private Sub FillWithTime(ByVal TripNum As Char, ByRef travelReader As SqlDataReader, ByRef TimeData() As Object, ByRef Cell As System.Web.UI.WebControls.TableCell)
travelParameter.Value = TripNum
travelReader = travelQuery.ExecuteReader()
If (travelReader.Read()) Then
travelReader.GetValues(TimeData)
'stuff
End If
End Sub
感謝:
FillWithTime("2", travelReader, time, newCell)
定義爲。
P.S. - Adam和Cerebus,如果可以的話,我會接受這兩個答案。他們都爲我帶來了這個想法,謝謝大家。
我通常將其壓縮成一行,如下所示:tavelQuery.CommandParamenters.Add(「@ trip」,SqlDbType.NVarChar,2).Value =「1a」; – 2009-04-22 13:22:19