Q&A

  • 소스좀 바주세요. 쿼리입니다.
디비그리드 타이틀클릭 이벤트 발생이면...

qry1.Close;

qry1.SQL.Clear;

qry1.SQL.Add( ' select * ' );

qry1.SQL.Add( ' from "ilbo.db"');

qry1.SQL.Add( ' order by :str' );

qry1.Params.Items[0].Text := column.FieldName;

qry1.Open;



order by에서 에러가 발생하는데 왜 그렇까여?



:str대신에 필드명을 주면 되는데 :str를 주면 안되네요....





3  COMMENTS
  • Profile
    데빠이 2001.08.17 00:38
    irookie wrote:

    > 디비그리드 타이틀클릭 이벤트 발생이면...

    > qry1.Close;

    > qry1.SQL.Clear;

    > qry1.SQL.Add( ' select * ' );

    > qry1.SQL.Add( ' from "ilbo.db"');

    > qry1.SQL.Add( ' order by :str' );

    > qry1.Params.Items[0].Text := column.FieldName;

    > qry1.Open;

    >

    > order by에서 에러가 발생하는데 왜 그렇까여?

    >

    > :str대신에 필드명을 주면 되는데 :str를 주면 안되네요....

    >

    > 쩝



    column.FieldName에 값이 재대루 넘어오는지 보시면 답이 나올듯 합니다.



  • Profile
    irookie 2001.08.17 00:50
    쿼리전에

    caption := column.FieldName;

    하면 값은 제대로 나옵니다.



    그런데, qry1.open전에

    caption := qry1.text;

    하면 ...order by 뒤에는 나오지 않습니다.



    세상에 이런일이...



    --------------



    데빠이 wrote:

    > irookie wrote:

    > > 디비그리드 타이틀클릭 이벤트 발생이면...

    > > qry1.Close;

    > > qry1.SQL.Clear;

    > > qry1.SQL.Add( ' select * ' );

    > > qry1.SQL.Add( ' from "ilbo.db"');

    > > qry1.SQL.Add( ' order by :str' );

    > > qry1.Params.Items[0].Text := column.FieldName;

    > > qry1.Open;

    > >

    > > order by에서 에러가 발생하는데 왜 그렇까여?

    > >

    > > :str대신에 필드명을 주면 되는데 :str를 주면 안되네요....

    > >

    > > 쩝

    >

    > column.FieldName에 값이 재대루 넘어오는지 보시면 답이 나올듯 합니다.

    >

  • Profile
    irookie 2001.08.17 01:41
    qry1.SQL.Add( ' order by ' + Column.FieldName );

    ...

    요렇게 하문 안되구여.



    tmpstr := Column.FieldName;

    ...

    qry1.SQL.Add( ' order by ' + tmpStr );

    qry1.Open;



    변수에 저장해서 쿼리하니까 되네요.



    제가 볼때는 위의 방법이나 아래의 방법이나 같은것 같은데....







    좌우당간 그렇게 되네요...



    신경써 주셔서 고맙습니다.



    --------



    irookie wrote:

    > 쿼리전에

    > caption := column.FieldName;

    > 하면 값은 제대로 나옵니다.

    >

    > 그런데, qry1.open전에

    > caption := qry1.text;

    > 하면 ...order by 뒤에는 나오지 않습니다.

    >

    > 세상에 이런일이...

    >

    > --------------

    >

    > 데빠이 wrote:

    > > irookie wrote:

    > > > 디비그리드 타이틀클릭 이벤트 발생이면...

    > > > qry1.Close;

    > > > qry1.SQL.Clear;

    > > > qry1.SQL.Add( ' select * ' );

    > > > qry1.SQL.Add( ' from "ilbo.db"');

    > > > qry1.SQL.Add( ' order by :str' );

    > > > qry1.Params.Items[0].Text := column.FieldName;

    > > > qry1.Open;

    > > >

    > > > order by에서 에러가 발생하는데 왜 그렇까여?

    > > >

    > > > :str대신에 필드명을 주면 되는데 :str를 주면 안되네요....

    > > >

    > > > 쩝

    > >

    > > column.FieldName에 값이 재대루 넘어오는지 보시면 답이 나올듯 합니다.

    > >