unit mainForm2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
DBNavigator1: TDBNavigator;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
Excel : Variant;
Loop, iRow : Integer;
begin
Excel:=CreateOleObject('Excel.Application'); ///엑셀 컴포넌트를 불러들여라
Excel.WorkBooks.Add; ///엑셀sheet 를 만들어라
Excel.Visible:=True; ///엑셀이 보여라
For Loop:=1 to Table1.FieldCount-2 do
Excel.Cells[1, Loop].Formula:=Table1.Fields[Loop-1].FieldName;
iRow := 1;
Table1.First;
Table1.DisableControls; ////루프돌기 전에 해당 table 접근을 막아라.
try
While Table1.Eof = False Do Begin
iRow:=iRow+1;
For Loop:=1 To Table1.FieldCount-2 do
Excel.Cells[iRow, Loop].Formula:=Table1.Fields[Loop - 1].AsString;
Table1.Next;
end;
finally
Table1.EnableControls; ////이제 풀어라..
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Insert;///레코드 추가
try
//Table1.Fields[0].AsInteger:=3; /////배열로 필드에 숫자값 넣기
Table1.FieldByName('Special No').AsInteger:=3;//////필드값으로 숫자값 넣기
Table1.Post;////레코드 저장
except ////error발생시 아래 실행(개발자에게만은 보여준다.)
Table1.Cancel; //레코드 취소
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Table1.Edit;///레코드 수정
try
//Table1.Fields[0].AsInteger:=3; /////배열로 필드에 숫자값 넣기
Table1.FieldByName('Special No').AsInteger:=3;//////필드값으로 숫자값 넣기
Table1.Post;////레코드 저장
except ////error발생시 아래 실행(개발자에게만은 보여준다.)
Table1.Cancel; //레코드 취소
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if MessageDlg('정말지울꺼얌?', mtError, [mbYes, mbNo], 0) = mrYes
then Table1.Delete;
end; ///mb > message button
///mr > message result
end.
'컴터 > delphi' 카테고리의 다른 글
TQuery의 묵시적 transaction 을 줄이기 위해.(cachedUpdate : false => true 로 전환) (0) | 2007.11.29 |
---|---|
BDE > Query(DBTables) 사용시 (0) | 2007.11.29 |
북마크 (0) | 2007.11.28 |
DB 검색하기.. (0) | 2007.11.28 |