|
안녕하세요 오늘도 허접 질문을 드리게 되어 열분 고수님들 지송합니다.
대한민국 8강을 자축하며 봐주세염..^*^
임의의 폼위에 DBGrid를 올려 놓구 Table과 DataSource를 올려 놓았습니다.
DB랑 연결을 했는데여..DBGird에서 원하는 검색을 하고 싶어서 Filter기능을 썻거든요
AnsiString FilterValue;
Table1->Active = true;
DBGrid1->DataSource = DataSource1;
Table1->Filtered = true;
Table1->Filter = FilterValue;
Table1->Refresh();
문제는 FilterValue 에 검색 형태에 따라 조건을 많이 주거든요..
그런데 DB에 있는 자료면 원하는 데로 검색을 하는데,,조건에 하나라도 맞지 않는 DB의 필드 값이 있다면 바로 에로가 떨어 지거든요..EConvertError....
그렇다고 일일이 검색 조건이 추가될때마다 if문등을 써서 제어를 할순 없잖아여
제 생각에는 검색 조건과 DB자료가 동일하지 않으니깐 그냥 예외 처리로 하면 안될까 하는 생각도 들거든요..
그냥 메시지 박스를 띄워서 "검색 조건과 동일한 자료가 없습니다" 라고여..
그래서
try
{
Table1->Filter = FilterValue;
Table1->Refresh();
}
catch(EConverError&) ---> 에러메세지가 EConverError라고 뜨길래(사실 예외 처리에 대해서는
{ 잘 모르거든요..예외 처리부분을 아직 심도 잇게 공부를 못해서)
Application->MessageBox("검색 조건과 동일한 자료가 없습니다","에러",MB_OK);
}
위와 같은 형태로 했봤거든요..근데 Table1->Filter = FilterValue이 부분에서 에러가 먼저 떨어지는 것 같더라구여..물론 위의 코드가 제대로 된건 지도 모르겠지만..열분 고수님들 오늘도 머리를 싸메고 끙끙 대고 있는 하수를 위해서 많은 조언 부탁드리겠습니다..
그럼 오늘도 즐거운 하루 되시고 ... 즐프하세염...^*^....대한민국 화이팅...코리아팀 화이팅..
감사합니다...꾸벅.....(근데 무지 급하거든요..빨리 리플 좀 달아 주세염)...
|