Q&A

  • SQL에서 Like를 쓰면 애러가 나네요.
오류 메세지:

Project Project1.exe raised exception class EOLeException with message '내부 OLE 자동화 오류입니다'. Process stopped. Use Step or Run to continue.



어제까지만 해도 문제가 없었는데 오늘 실행해보니 이런메세지가 뜨네요.

다른곳에서 테스트를 해보니 SQL을 사용할때 'Like'절이 들어가면 이런 메세지가 뜹니다.

도움을 주세요....

x_tmp := area.text;

DB_sql := 'SELECT distinct * FROM POST WHERE Dong LIKE :N1';

rs.SQL.Clear;

rs.SQL.text := DB_sql;

Rs.Parameters.ParamValues['N1'] := '%' + x_tmp + '%';

//Rs.Parameters.ParamValues['N1'] := x_tmp; //이래도 마찬가지 이고요..

rs.Open; //에러 메세지



2  COMMENTS
  • Profile
    이성훈 2000.10.24 02:20
    이용 wrote:

    > 오류 메세지:

    > Project Project1.exe raised exception class EOLeException with message '내부 OLE 자동화 오류입니다'. Process stopped. Use Step or Run to continue.

    >

    > 어제까지만 해도 문제가 없었는데 오늘 실행해보니 이런메세지가 뜨네요.

    > 다른곳에서 테스트를 해보니 SQL을 사용할때 'Like'절이 들어가면 이런 메세지가 뜹니다.

    > 도움을 주세요....

    > x_tmp := area.text;

    > DB_sql := 'SELECT distinct * FROM POST WHERE Dong LIKE :N1';

    > rs.SQL.Clear;

    > rs.SQL.text := DB_sql;

    > Rs.Parameters.ParamValues['N1'] := '%' + x_tmp + '%';

    > //Rs.Parameters.ParamValues['N1'] := x_tmp; //이래도 마찬가지 이고요..

    > rs.Open; //에러 메세지

    >



    sql문 오류네요

    이렇게 고쳐보세요

    DB_sql := 'SELECT distinct * FROM POST WHERE Dong LIKE :N1';

    rs.SQL.Clear;

    rs.SQL.text := DB_sql;

    Rs.Parameters.ParamValues['N1'] := '%' + x_tmp ; //여기가 틀려더군요 이렇게 바꿔보세요

    그럼 즐코딩하세요........



  • Profile
    장임더 2000.10.24 03:55
    이성훈 wrote:

    > 이용 wrote:

    > > 오류 메세지:

    > > Project Project1.exe raised exception class EOLeException with message '내부 OLE 자동화 오류입니다'. Process stopped. Use Step or Run to continue.

    > >

    > > 어제까지만 해도 문제가 없었는데 오늘 실행해보니 이런메세지가 뜨네요.

    > > 다른곳에서 테스트를 해보니 SQL을 사용할때 'Like'절이 들어가면 이런 메세지가 뜹니다.

    > > 도움을 주세요....

    > > x_tmp := area.text;

    > > DB_sql := 'SELECT distinct * FROM POST WHERE Dong LIKE :N1';

    > > rs.SQL.Clear;

    > > rs.SQL.text := DB_sql;

    > > Rs.Parameters.ParamValues['N1'] := '%' + x_tmp + '%';

    > > //Rs.Parameters.ParamValues['N1'] := x_tmp; //이래도 마찬가지 이고요..

    > > rs.Open; //에러 메세지

    > >

    >

    > sql문 오류네요

    > 이렇게 고쳐보세요

    > DB_sql := 'SELECT distinct * FROM POST WHERE Dong LIKE :N1';

    > rs.SQL.Clear;

    > rs.SQL.text := DB_sql;

    > Rs.Parameters.ParamValues['N1'] := '%' + x_tmp ; //여기가 틀려더군요 이렇게 바꿔보세요

    > 그럼 즐코딩하세요........

    >



    'like'절에 '%'는 어디에 있든 상관 없는걸로 압니다.

    그문자열이 포함된 열을 찾는거니깐...

    Rs.Parameters.ParamValues['N1'] 를 Rs.parambyname('N1').asString 으로 바꿔보세요

    String과 Number가 혼동될수있으니

    parameters를 쓸때는 변수 타입이 정해진게 아니기 때문에 그런거 같군요

    맞는가 모르것넹

    수공하세여