Q&A

  • query실행 값을 프린트 할려면
query에서 SQL을 실행한 값을 프린터로 출력하고

싶은데 어떻게 해야 할지 알려주세요

1  COMMENTS
  • Profile
    홍세비 2000.03.22 20:09
    왕초보 wrote:

    > query에서 SQL을 실행한 값을 프린터로 출력하고

    > 싶은데 어떻게 해야 할지 알려주세요



    안녕하세요. 홍세빕니다.



    쿼리한 내용을 화면에 나타내지 않고 바로 프린트를 하고 싶다는

    질문이 맞나요?



    이런 경우라면 바로 프린터로 보내면 프린터자체가 상당히 느린

    하드웨어이기 때문에 임시텍스트 파일로 작성후 프린트를 하시면

    될 것 같네요.

    델파이에서 제공하는 리포트 컴포넌트를 사용하면 더 깔끔한 보고서를

    출력할 수 있겠지만 텍스트로 출력하는 방법을 설명드리겠습니다.



    uses

    Printers;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    with Query1 do begin

    Close;

    SQL.Clear;

    SQL.Add(Memo1.Text);

    Open;

    end;

    end;



    procedure TForm1.Button3Click(Sender: TObject);

    begin

    with Printer do begin

    BeginDoc;

    HTML1.AutoPrint(handle);

    // MyQuery.txt 파일을 프린트

    EndDoc;

    end;

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    var

    MyFile : TStringList;

    i, j : integer;

    str : string;

    begin

    MyFile := TStringList.Create;

    for i := 1 to Query1.RecordCount do begin

    str := '';

    for j := 0 to Query1.FieldCount-1 do

    str := str + Query1.Fields[j].AsString+'|';

    MyFile.Add(str+#13#10);

    Query1.Next;

    end;

    MyFile.SaveToFile('c:MyQuery.txt');

    MyFile.Free;

    end;