Q&A

  • 새해 복 마니 받으시고...이것좀...
데이타베이스를 하다가...

Query1.close;

Query1.Params[0].Value := date1;

Query1.Params[1].Value := date2;

Query1.open;

을 썼는데...그러니까...이게요...

date1 과 date2(둘다 날짜 변수) 사이의 데이타를 검색하는 건데요...

책을 보니까 위의 Params를 써서 저런 식으로 했더군요 그래서 저렇게 하긴 했는데..

에러 메시지로....

List Index out of bounds(0);

이 나오던데...위 Params...을 어떨때 쓰는지...글구...

위에서 예기한 두 Date 변수 사이의 데이타를 검색하는 방법좀 갈켜...주세요...T.T

2  COMMENTS
  • Profile
    호수영 2000.01.04 04:48
    김민호 wrote:

    > 데이타베이스를 하다가...

    > Query1.close;

    > Query1.Params[0].Value := date1;

    > Query1.Params[1].Value := date2;

    > Query1.open;

    > 을 썼는데...그러니까...이게요...

    > date1 과 date2(둘다 날짜 변수) 사이의 데이타를 검색하는 건데요...

    > 책을 보니까 위의 Params를 써서 저런 식으로 했더군요 그래서 저렇게 하긴 했는데..

    > 에러 메시지로....

    > List Index out of bounds(0);

    > 이 나오던데...위 Params...을 어떨때 쓰는지...글구...

    > 위에서 예기한 두 Date 변수 사이의 데이타를 검색하는 방법좀 갈켜...주세요...T.T



    Query1 컴포넌트에 Params 변수를 선언하지 않아서 발생되는 에러 메세지 입니다.

    Query1 컴포넌트에서 SQL 문을 작성하실때 Params 변수를 선언해야 되는데 방법은 아래와 같습니다.



    select * from tableName

    where DateCloumn between :ParamsVar1 and :ParamsVar2



    위 SQL 문장에서 Params 변수는 ParamsVar1, ParamsVar2 입니다.

    SQL 문장에서 Params 변수를 선언할때는 :(콜론)을 항상 앞에다 붙여서 사용합니다.



    위와 같이 작성하시고 다시 해보시면 잘 될겁니다.



    Query1.close;

    Query1.Params[0].Value := date1;

    Query1.Params[1].Value := date2;

    Query1.open;



    그럼 수고하세요 ^^



    Happy Day..........



  • Profile
    이주흥 2000.01.04 04:28
    일단 params를 쓰실려면 디자인타임시 쿼리,params 프로퍼티를 설정해줘야 합니다.

    에러 내용은 그런 일련의 작업을 안해주신듯 한데...

    굳이 params을 쓰지 않아도 쉽게 할수 있습니다..

    between을 쓰시면 간단히 해결될듯 같네요..



    with query1 do begin

    Close;

    sql.Clear;

    sql.Add('select * from table1');

    sql.Add('where (dt between :dt1 and :dt2)');

    sql.Add('order by detail');

    ParamByName('dt1').AsDateTime := date1;

    ParamByName('dt2').AsDateTime := date2;

    Open;

    end;



    김민호 wrote:

    > 데이타베이스를 하다가...

    > Query1.close;

    > Query1.Params[0].Value := date1;

    > Query1.Params[1].Value := date2;

    > Query1.open;

    > 을 썼는데...그러니까...이게요...

    > date1 과 date2(둘다 날짜 변수) 사이의 데이타를 검색하는 건데요...

    > 책을 보니까 위의 Params를 써서 저런 식으로 했더군요 그래서 저렇게 하긴 했는데..

    > 에러 메시지로....

    > List Index out of bounds(0);

    > 이 나오던데...위 Params...을 어떨때 쓰는지...글구...

    > 위에서 예기한 두 Date 변수 사이의 데이타를 검색하는 방법좀 갈켜...주세요...T.T