2012-10-15 4 views
0

두 개의 데이터베이스 테이블이 있습니다. 첫 번째 테이블에는 대상 전화 번호가있는 '대상'열이 들어 있고 두 번째 테이블에는 아라코 드가있는 'Areacode'가 들어 있습니다.한 문자열에 포함 된 정확한 값을 다른 문자열에 일치시키는 방법

한다고 가정 대상 번호 = '001891191080' Areacode : 001,0018,00185 등

이제 문제는이 착신 번호 대신 0018 001 Areacode을 .. 매칭되는

for (int i = 10; i >= 0; i--) { 
     try { 
      String ss = destination.substring(0, i); 
      Statement st = null; 
      ResultSet rs = null; 

      Class.forName("com.mysql.jdbc.Driver"); 
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/asteriskcdrdb", "root", "techsoft"); 
      st = con.createStatement(); 
      rs = st.executeQuery("Select * from sp1 where areacode like '" + ss + "'"); 
      while (rs.next()) { 
       areacode = rs.getString("AreaCode"); 

인 여기 내 선생님은 내가 목적지 값을 가져 와서 마지막으로 시작하는 루프를 확인하고 있습니다. 그러나 건너 뛰고 다른 정확한 가능성을 검사하지 않는 첫 번째 값과 일치하는 즉시 ... 정확한 값을 일치시키는 방법 수많은 가능성 중에서 ... Any h ELP는 매우 당신이 짧은 문자열을 모두 일치하도록 시도 할 수 String#subString(begin index,End index)를 사용하여 사전

+0

몇 가지 코드를 게시 할 수 있습니까? – aradhak

+0

@subodh Sir 내 코드와 로직을 게시했습니다. – Adarsh

+0

@Aswathi Sir 내 코드를 게시했습니다. – Adarsh

답변

1
Destination number='001891191080' Areacode :001,0018 

에 .. 고맙습니다 이해할 수있을 것이다.

for 루프에 connection과 statement를 생성하면 안됩니다.

+0

나는 내 코드에서 똑같은 것을 시도했다. 지금 나는 내 코드 plz를 게시했다. – Adarsh

0

먼저 문자열의 길이에 따라 'Areacode'를 정렬 한 다음 '대상 번호'에서 일치하는지 확인하십시오.

0

먼저 큰 문자열 일치부터 시작하십시오.

String destNumber = "001891191080"; 
    String[] areaCodes = new String[]{ "001","0018"}; 

    if(destNumber.indexOf(areaCodes[1])>=0){ //<- use 0018 first 
    //.... 
    }else if(destNumber.indexOf(areaCodes[0])>=0){ 
    //... 
    } 
+1

부정적인 유권자 : 격차/문제점을 이해할 수 있도록 의견을 보내주십시오. –

+0

작동하지 않았다 – Adarsh

+0

@Adarsh ​​내가 작성한 코드를 공유해도 될까요? (귀하의 질문에 관련 코드가 표시되지 않습니다.) 무엇이 작동하지 않습니까? –

0

이 쿼리를 사용해 볼 수 있습니까?

"Select * from sp1 where areacode like '" + ss + "%' order by areacode desc" 

그래서 당신에게 결과 집합에서

00185 
0018 
001 

를 제공해야하고, 비교 목록에서 당신에게 첫 번째 값을 반환합니다.

+0

감사합니다. 각하.하지만 그것은 araecode와 시작 값을 일치시킬 것입니다 일단 araecode에서 그 값을 얻으면 그것은 정확한 하나를 찾아 건너 뛰고 그 하나를 취할 것입니다 – Adarsh

+0

그게 당신이 일치하는 정확한 값을 의미합니까? – aradhak

+0

예. 정확하게 일치해야합니다. – Adarsh

관련 문제