Q&A

  • Query 의 Params 를 FieldName 줄수 없나요 ?
흠..수고들 많으십니다.



t1~t20 까지 Field 가 있습니다. 각각의 필드에 대한 sum 을 하는 query 를 구현하고자 합니다.

Query 를 하나 만들고....Query 의 Sql 에다가...



select car, sum(:tt) from table

where :tt <> 0

group by car



이렇게 했습니다.

그리고 FieldEditor 에서 Add 하니까...

Query1car 랑 Querysumtt가 생기더군요.



Params 입력부분은 이렇습니다.(간단히..)



for i := 1 to 20 do

begin

Temp := T + IntToStr(i);

query1.Close;

Query1.Params[0].AsString := Temp;

Query1.Open;

....

end;



입니다.



근데..이걸 실행하면...에러가 납니다.

수치에 맞지 않는 값입니다라는...



어떻게 해야 제가 원하는걸 할수 있을까여 ??



조언 부탁드립니다.

1  COMMENTS
  • Profile
    성호종 2000.08.24 03:41
    우정범 wrote:



    없습니다.



    FieldEditor에 올리지 않고는 가능합니다.

    query1.Close;

    Query1.sql.text := 'select car';

    for i := 1 to 20 do

    begin

    Temp := T + IntToStr(i);

    Query1.sql.text := query1.sql.text + ',' + temp;

    Query1.Open;

    ....

    end;

    이렇게 하면 필드는 원하는대로 생성되지만 DBGrid를 사용하신다면

    그리드에도 작업을 좀 해주셔야 겠네요..



    >

    > 흠..수고들 많으십니다.

    >

    > t1~t20 까지 Field 가 있습니다. 각각의 필드에 대한 sum 을 하는 query 를 구현하고자 합니다.

    > Query 를 하나 만들고....Query 의 Sql 에다가...

    >

    > select car, sum(:tt) from table

    > where :tt <> 0

    > group by car

    >

    > 이렇게 했습니다.

    > 그리고 FieldEditor 에서 Add 하니까...

    > Query1car 랑 Querysumtt가 생기더군요.

    >

    > Params 입력부분은 이렇습니다.(간단히..)

    >

    > for i := 1 to 20 do

    > begin

    > Temp := T + IntToStr(i);

    > query1.Close;

    > Query1.Params[0].AsString := Temp;

    > Query1.Open;

    > ....

    > end;

    >

    > 입니다.

    >

    > 근데..이걸 실행하면...에러가 납니다.

    > 수치에 맞지 않는 값입니다라는...

    >

    > 어떻게 해야 제가 원하는걸 할수 있을까여 ??

    >

    > 조언 부탁드립니다.