이것때문에 좀 시간을 허비했다.

인터넷 검색 기술도 없어서 그런지. 아무리 구글을 뒤져도 나오지않는 현상..ㅡㅡ;;

피곤해서 그런지 이젠 검색하기도 귀찮다..


C#에서 Dataset을 이용하여 데이터를 쿼리하여 datagridview에 뿌려주었다.

Dataset 설정에서 fill 에서는 % 을 넣을 수 없는 관계로 꼼수를 이용하여 사용하였다.

Dataset에서는

SELECT * FROM [TABLE_NAME] WHERE [TABLE_COLUMN] LIKE @[SEARCH];

로 설정하였다.


그후 C#에서 TEXTBOX_TextChanged 이벤트에 넣어서 "%" + TEXTBOX.TEXT + '%' 을 이용하여 사용하였다.

몇 번 잘 사용했는데,

문제는

1. 검색하다 전체를 선택한 후 숫자를 넣었을 경우 에러 (try catch 문 안 넣었음.. 에러 잡기 위하여)

2. 처음에 숫자를 넣었을 경우.

에러가 발생하였다.

단독 테스트를 했을 경우 문제가 없었는데.. 실제 사용할 경우 문제가 발생하였다.


이런 저런 검색 후 생각해낸 꼼수는..

protected string GetSearchValue(string value)
        {
            if (value.Length > 1)
                return "%" + value + "%";
            else
                return value + "%";
        }

숫자일 경우 % 문자가 처음에 갈 경우 문제가 발생하였다.

그래서 입력 단어 개수를 파악하여 1나일 경우 뒤에 '%' 붙이고,

2개 이상일 경우 '%' + 입력 단어 + '%'로 처리하였다.


그후엔 특별한 문제가 없는듯..ㅡㅡ;;

수정.. 처음엔 잘 되다가.. 문제가 다시 발생..

null 값 체크를 했는데도 같은 현상이 발생하였다..

DataSet query configuration에서  ( TABLE_COLUMN LIKE RTRIM(@name))


이렇게 수정하니 제대로 작동.. ㅇ

어렵구나.. 프로그램하는 시간보다 툴 사용 방법 찾는데 시간이 더 오래 걸리는듯..ㅠㅠ

Posted by 노을지기