2012-02-26 3 views
0

iam이 mediawiki에서 사전을 만들고 있습니다.이 목적으로 vb.net에있는 봇을 디자인했습니다. [[code dosne [ 없이 (그것은 또한 "نکرہ اسم"는이 [[코드 문자열에 다음 대한 myid을 추가 목록 상자 만 검색하려면 "[[اسم نکرہ]"vbNewLine &에 대한대괄호 문자열을 vb.net에서 검색합니다.

dbCommand.CommandText = "SELECT * FROM data" 
      dbCommand.Connection = dbConn 
      dbConn.Open() 
      Dim dbDR As OleDb.OleDbDataReader = dbCommand.ExecuteReader 

      While dbDR.Read 
       Dim mydata As String = CStr(dbDR("mean".ToString)) 
       If InStr(mydata, vbNewLine & "[[اسم نکرہ]]") Then 
        Dim myid As String = dbDR("ID".ToString) 
        ListBox1.Items.Add(mydid) 
       End If 
      End While 

이 코드 검색 아래 우회 보인다 그래서 그것은 섞인다. 어디서 실수 했니?

+1

혼합 문장 VB.net에서 필터링 없습니다 오른쪽에서 왼쪽으로 렌더링 된 언어는 매우 까다로울 수 있습니다. 적어도 CompareMethod를 사용하여 기본값 인 Binary 대신 Text를 지정할 수있는 InStr 오버로드를 실험 해보십시오. 기본 문화 역시 중요한 역할을합니다. String.ToCharArray() 문제를 진단하고 String.IndexOf()를 사용하면 StringComparison을 선택할 수 있습니다. 마지막으로 대괄호는 SQL 문의 이스케이프 문자입니다. –

+0

Hans의 의견에 따라 대괄호인지 확인하십시오. 데이터베이스에 대해 테스트하지는 않았지만 문자열이 발견되었습니다. 사실이 아니다 – Fionnuala

답변

0

사용 : dbCommand.CommandText = "SELECT * FROM data WHERE mean like '%[[اسم نکرہ]]%'"이 주 오래된 MS 액세스 버전 like 쿼리에서 지원 % 해달라고 그래서 소스에서 *

그래서 당신이 필터링되는 데이터를 사용, 필요

+2

는 와일드 카드는 ANSI - 89 또는 ANSI-92에 따라 하나 * 또는 %이다 http://office.microsoft.com/en-us/access-help/access-wildcard-character-reference- HA010076601.aspx – Fionnuala

+0

ms 액세스 데이터베이스에서 가져온 후 데이터를 여러 번 필터링해야하기 때문에 SQL 쿼리를 사용할 수 없습니다. 다른 방법이 있다면? – user934820

+0

+1, @ 감사 노트에 대한 –

관련 문제