2011-03-25 2 views
1

일부 테이블에 아랍어 텍스트가 포함 된 SQL Server 2005 데이터베이스가 있습니다. 이러한 필드의 데이터 형식은 NVARCHAR (n)입니다.아랍어 언어로 SQL Server 2005 검색을 수행하는 방법은 무엇입니까?

테이블 안의 아랍어 텍스트가 올바르게 표시되고 select 절을 사용하여 선택하면 올바르게 표시됩니다. 문제는 where 절을 사용하여 아랍어 텍스트를 검색하면 결과가 0 행이된다는 것입니다.

이 값 이름가 이름 = @ 이름

이것은 어떠한 행을 검색하지 TABLE_NAME 에서 선택한 *. 우리가 같이 사용할 경우 :

선택 * 테이블 _ 에서 어디에 이름 = N'Arabic_Text '

그 다음이 작동하지만, 우리가 끝을 앞에서 뒤로 끝에서 텍스트를 검색 전달할 수있는 방법에 대해 설명합니다. 질문을 작성하는 방법을 안내해 주시겠습니까? 코드에서

PS

은 내가 쓴 뒤에 :

Dim UserName As String = "N'" & txtLogin.Text & "'" 
Dim _dtLogin As DataTable = oUser.UserLogin(UserName) 

는 해당 사용자가 데이터베이스에있는 경우에도 0 행을 반환합니다.

답변

0

당신은 당신의 쿼리를 연결할 필요하고 있기 때문에이 부분을 고려 유니 코드 값

+0

plz 업데이트 된 질문 –

0

의 체크 값 앞에 N을 사용할 필요 :이 저장 프로 시저의 경우 select * from table_name where [email protected]

을, 당신은 그것을 수정해야 다음과 같아야합니다.

select * from table_name where [email protected] 

효과가 있으면 알려주세요.

+0

을 참조하십시오. 이미 시도했지만 다음과 같은 오류가 나타납니다. 'N @ UserName'열 이름이 잘못되었습니다. –

+0

당신이 잘못했다고 생각합니다. 당신이 내 제안을 따르는다면이 오류는 발생하지 않을 것입니다. 당신의 오류는 = 기호가 아닌 뒤의 부분에 있습니다. 친절하게 다시 확인하십시오. –

+0

입력 매개 변수를 NVARCHAR로 선언하면 올바른 값을 반환해야한다고 생각합니다. 저장 프로 시저가 N (name = @ name)없이 값을 반환합니까? – JoR

관련 문제