Q&A

  • DB질문) 쿼리로 셀렉트한걸 스트링그리드에 뿌릴라면 예제좀 없을까여?
요즘 참 질문 많이합니다.

그 허접질문에 일일이 리플달아주시는님들께 참 감사하고여^^

아무튼 다시한번 감사드리면서 또하나의 허접질문을 올리려고합니다.

쿼리에서 셀렉트한 결과값들 그러니까 테이블의 내용이겠져.

그걸 디비그리드를 쓸수없기때문에 스트링그리드를 써야하는 입장인데여

로카운트와 컬럼카운트가 픽스거덩여...아무튼 스트링그리드에 뿌려줘야하는데.

흐음 감이 잘 안오네여..

밑에는 제가 짜다 만 소습니다.

With SelectQuery do begin

Close;



Sql.Clear;

Sql.Add('select * from rtu_ai_tbl order By '''+Option+'''');

Open;

First;



While Not EOF do begin

for i:= 0 to

end;

end;

암튼 이런식으로 디비에 데타가 없을때가지 돌려서 넣으면 될것같은데..

잘 감이 안오네여.. 좀 자세한 예제가 없을까여?? 부탁드립니다.

오늘도 비가 오려나 보네여 ^^그럼 즐겁게 사세여^^

2  COMMENTS
  • Profile
    남기석 2001.06.21 21:53
    안년하세요

    남기석( http://www.delphitravel.com )입니다.



    With SelectQuery do

    begin

    Close;



    Sql.Clear;

    Sql.Add('select * from rtu_ai_tbl order By '''+Option+'''');

    Open;

    First;



    i := 0;

    While Not EOF do

    begin

    inc( i );

    StringGrid1.Cells[ 0, i ] := inttostr( i );

    StringGrid1.Cells[ 1, i ] := fieldByName('Name').asString;

    StringGrid1.Cells[ 2, i ] := fieldByName('Addr').asString;

    StringGrid1.Cells[ 3, i ] := fieldByName('Tel').asString;



    Next;

    end;

    end;



    이런식으로 해 보세요....

    필드명은 적당한 걸 주시고요...



    ========================================================================================

    aparadin wrote:

    > 요즘 참 질문 많이합니다.

    > 그 허접질문에 일일이 리플달아주시는님들께 참 감사하고여^^

    > 아무튼 다시한번 감사드리면서 또하나의 허접질문을 올리려고합니다.

    > 쿼리에서 셀렉트한 결과값들 그러니까 테이블의 내용이겠져.

    > 그걸 디비그리드를 쓸수없기때문에 스트링그리드를 써야하는 입장인데여

    > 로카운트와 컬럼카운트가 픽스거덩여...아무튼 스트링그리드에 뿌려줘야하는데.

    > 흐음 감이 잘 안오네여..

    > 밑에는 제가 짜다 만 소습니다.

    > With SelectQuery do begin

    > Close;

    >

    > Sql.Clear;

    > Sql.Add('select * from rtu_ai_tbl order By '''+Option+'''');

    > Open;

    > First;

    >

    > While Not EOF do begin

    > for i:= 0 to

    > end;

    > end;

    > 암튼 이런식으로 디비에 데타가 없을때가지 돌려서 넣으면 될것같은데..

    > 잘 감이 안오네여.. 좀 자세한 예제가 없을까여?? 부탁드립니다.

    > 오늘도 비가 오려나 보네여 ^^그럼 즐겁게 사세여^^

  • Profile
    aparadin 2001.06.22 02:32
    남기석 wrote:

    > 안년하세요

    > 남기석( http://www.delphitravel.com )입니다.

    >

    > With SelectQuery do

    > begin

    > Close;

    >

    > Sql.Clear;

    > Sql.Add('select * from rtu_ai_tbl order By '''+Option+'''');

    > Open;

    > First;

    >

    > i := 0;

    > While Not EOF do

    > begin

    > inc( i );

    > StringGrid1.Cells[ 0, i ] := inttostr( i );

    > StringGrid1.Cells[ 1, i ] := fieldByName('Name').asString;

    > StringGrid1.Cells[ 2, i ] := fieldByName('Addr').asString;

    > StringGrid1.Cells[ 3, i ] := fieldByName('Tel').asString;

    >

    > Next;

    > end;

    > end;

    >

    > 이런식으로 해 보세요....

    > 필드명은 적당한 걸 주시고요...

    >

    > ========================================================================================

    일단 전 컬럼이 테이블 로우가 되거든여.. 그러니까 데이타가 세로로찍혀나와야져

    그건 문제가 안되구여..

    일단 큰 문제는 ...

    PK가 두개이지여.. (id , idx)요러케여..



    예를 들면...

    id idx

    RRR_00 1

    RRR_00 2

    RRR_00 3

    RRR_00 4

    RRR_00 5

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

    RRR_01 1

    RRR_01 2

    RRR_01 3

    RRR_01 4

    이런식으로여... 그리고 이 idx가 컬럼카운트가 되는거거든여..

    그러니까 스트링그리드의 픽스드로우는 1,2,3,4,5,6,7....이런식이구여

    픽스트컬럼은 다른 여타 데이타들이 들어갑니다.

    그래서 이렇게 해보았는데 흠 문제가 없을지 모르겠네여..



    With SelectQuery do begin

    Close;



    Sql.Clear;

    Sql.Add('select * from 테이블명 order By idx');

    Open;



    Int_Idx := IntToStr(1);



    Locate('rtu_id;idx',VarArrayOf([CB_Rtuid.Text,Int_Idx]),[loPartialKey]);



    While CB_RtuId.Text = FieldByName('rtu_id').AsString do begin

    i := FieldByName('idx').AsInteger;



    *MG_Sql은 그냥 스트링그리드입니다.

    MG_Sql.Cells[i,1] := FieldByName('manageObject').AsString;

    MG_Sql.Cells[i,2] := FieldByName('attr').AsString;

    MG_Sql.Cells[i,3] := FieldByName('service').AsString;

    MG_Sql.Cells[i,4] := FieldByName('fvalue').AsString;

    MG_Sql.Cells[i,5] := FieldByName('alamconf').AsString;

    MG_Sql.Cells[i,6] := FieldByName('docontrolport').AsString;

    MG_Sql.Cells[i,7] := FieldByName('high1').AsString;

    MG_Sql.Cells[i,8] := FieldByName('high2').AsString;

    MG_Sql.Cells[i,9] := FieldByName('high3').AsString;

    MG_Sql.Cells[i,10] := FieldByName('high4').AsString;

    MG_Sql.Cells[i,11] := FieldByName('cvalue').AsString;

    MG_Sql.Cells[i,12] := FieldByName('low1').AsString;

    MG_Sql.Cells[i,13] := FieldByName('low2').AsString;

    MG_Sql.Cells[i,14] := FieldByName('low3').AsString;

    MG_Sql.Cells[i,15] := FieldByName('low4').AsString;



    Next;

    end;

    end;