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. - Adam과 Cerebus, 할 수만 있다면 두 대답을 모두 받아 들일 것입니다. 그들은 둘 다 저를 위해 아이디어를 함께 가져 왔습니다. 덕분에 큰 시간을 보냈습니다.
I probaly UTF8, 그것이 코딩 알아 보통 다음과 같이 한 줄로 압축합니다. tavelQuery.CommandParamenters.Add ("@trip", SqlDbType.NVarChar, 2) .Value = "1a"; –
네, 저도 요. 그러나이 예의 목적은 편의를위한 것이 라기보다는 실례입니다. 종종 개념은 장황하여 가장 잘 설명됩니다! ;-) – Cerebrus