Q&A

  • stringgrid상에서 제목을 sql문으로 나타내기
맨윗줄의 셀에 sql문으로 제목을 나타내고싶은데

어떻게 구현할까요?

3  COMMENTS
  • Profile
    김종화 2002.10.15 01:44

    TADOQuery 로 가져온 결과를 TStringGrid 에 뿌려주는 프로시저 입니다.
    예전에 디비그리드 쓰기 시러서 걍 한번 만들어 봤었습니당..^^;;

    {==============================================================
         sQry 의 결과를 sGrid 에 출력
    --------------------------------------------------------------}
    procedure Put_StringGrid_QryData(sGrid : TStringGrid; sQry : TADOQuery);
    var  i,j : integer;
    begin
         for j:= 0 to TStringGrid(sGrid).RowCount - 1 do
              for i:= 0 to TStringGrid(sGrid).ColCount - 1 do
                   TStringGrid(sGrid).Cells[i,j] := '';

         TStringGrid(sGrid).ColCount := TADOQuery(sQry).FieldCount + 1;
         TStringGrid(sGrid).RowCount := TADOQuery(sQry).RecordCount + 2;

         for i:= 1 to TStringGrid(sGrid).ColCount - 1 do
              TStringGrid(sGrid).Cells[i,0] := TADOQuery(sQry).Fields[i-1].FieldName;

         TADOQuery(sQry).First;
         for j:= 1 to TStringGrid(sGrid).RowCount - 2 do begin
              TStringGrid(sGrid).Cells[0,j] := IntToStr(j);
              for i:= 1 to TStringGrid(sGrid).ColCount - 1 do
                   TStringGrid(sGrid).Cells[i,j] := TADOQuery(sQry).Fields[i-1].AsString;

              TADOQuery(sQry).Next;
         end;
         for i := 1 to TStringGrid(sGrid).ColCount - 1 do
                   TStringGrid(sGrid).Cells[i,TStringGrid(sGrid).RowCount - 1] := '';
    end;
  • Profile
    윤정식 2002.10.15 02:29
    이거 필드명이 한글일때 또는 한글로 보이고 싶을때도 가능한가요...
    해봤는데 한글일때는 잘안되는거 같아서여...




  • Profile
    김수경 2002.10.14 20:26
    FieldName을 사용하세요.

    아래는 예제입니다(Delphi가 없어 오류가 발생할 수 있으니 참조만... ^^;)
    즐푸하세요.

      Query1.Close();
      Query1.SQL.Clear();
      Query1.SQL.Add( 'SELECT * FROM animals' );
      Query1.Open();

      //Query1.FetchAll();
      // Caption := Query1.FieldCount;

      if StringGrid1.ColCount < Query1->FieldCount then StringGrid1.ColCount := Query1->FieldCount;

      for nI1 := 1 to Query1->FieldCount do
        StringGrid1.Cells[nI1,0] := Query1.Fields.Fields[nI1].FieldName;