Q&A

  • 델파이에서 MS-SQL DB에 '%String%' 옵션이 안먹혀요
안녕하세요. 이호림이라고 합니다.



델파이 시작한지 알마되지 않아서 그러는데...



델파이에서 MS-SQL DB에 Select할때 % 옵션이 먹히지 안아요.

예를 보면 아래와 같습니다.



select * from register where name like '%호림%'



위와같이 퀴리하면 에러가 납니다. 왜그러는지...

꼭좀 답변 부탁드립니다.

1  COMMENTS
  • Profile
    정대연 2001.02.04 21:34
    이호림 wrote:

    > 안녕하세요. 이호림이라고 합니다.

    >

    > 델파이 시작한지 알마되지 않아서 그러는데...

    >

    > 델파이에서 MS-SQL DB에 Select할때 % 옵션이 먹히지 안아요.

    > 예를 보면 아래와 같습니다.

    >

    > select * from register where name like '%호림%'

    >

    > 위와같이 퀴리하면 에러가 납니다. 왜그러는지...

    > 꼭좀 답변 부탁드립니다.



    일단 가장 중요한것은 쿼리문을 데이테베이스에 보낼때 모든것이 문자열이여야 한다는 것입니다.

    그래서 위의 sql 문은 다음과 같이 바뀌어야 합니다.



    select * from register where name like "%호림%"



    싱글코테이션은 델파이에서도 문자열을 치환할때 사용하기 때문에 sql 서버에 보낼때는 정상적으로 데이타를 보낼수가 없는 것입니다.



    위의 구문도 어떤 sql server에서는 에러가 날겁니다. 그것은 sql서버 설정에서 더블코테이션을 사용하지 않는다는 옵션이 있을 경우에 말입니다.

    그러한 경우는 다음과 같이 sql구문을 작성하시면 됩니다.



    with Query1 do begin

    close;

    SQL.Clear;

    SQL.Add(' select * from register where name like ' + #39 + '%호림%' + #39);

    Open;

    end;



    도움이 되셨는지 모르겠네요....^^&