【delphi开源代码栏目提醒】:网学会员,鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“Frm_TreeViewDB.pas”一文,供大家参考学习!
unit Frm_TreeViewDB;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, ComCtrls, ToolWin, DB, ADODB, ExtCtrls, StdCtrls,JPEG;
type
TFrmTreeViewDB = class(TForm)
GBxList: TGroupBox;
ADOConn: TADOConnection;
AQList: TADOQuery;
EDName: TEdit;
EDNumber: TEdit;
EdOld: TEdit;
EdTelePhone: TEdit;
CBxSex: TComboBox;
CBXdePartMent: TComboBox;
DTPJoinDate: TDateTimePicker;
CBxMary: TComboBox;
LBName: TLabel;
LbOld: TLabel;
LbMary: TLabel;
LbPart: TLabel;
LbNumber: TLabel;
LbPhone: TLabel;
LbSex: TLabel;
LbDate: TLabel;
GBxIMG: TGroupBox;
imgpic: TImage;
btnClose: TButton;
GBxTree: TGroupBox;
TVList: TTreeView;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure TVListClick(Sender: TObject);
private
dir:String;
Procedure addDepartment;
procedure AddWorker(var Node:TTreeNode);
procedure openDB;
procedure ShowField;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmTreeViewDB: TFrmTreeViewDB;
implementation
{$R *.dfm}
Procedure TFrmTreeViewDB.ShowField;
var
stream1:TMemoryStream;
sd:TStringStream;
begin
//
with AQlist do
if AQList.Active then
begin
EDName.Text:=FieldbYname('Name').AsString;
EDNumber.Text:=FieldbYname('Number').AsString;
EdOld.Text:=inttostr(FieldbYname('Old').AsInteger);
EdTelePhone.Text:=FieldbYname('TelePhone').AsString;
CBxSex.ItemIndex:=FieldbYname('Sex').AsInteger;
CBXdePartMent.Text:=FieldbYname('dePartMent').AsString;
DTPJoinDate.DateTime:=FieldbYname('JoinDate').AsDateTime;
CBxMary.ItemIndex:=FieldbYname('Maried').AsInteger;
if not FieldByname('picture').IsNull then
begin
//image
Sd:=TStringStream.Create(fieldbyname('picture').AsString);
Stream1:=TMemoryStream.Create;
try
if sd.Size > 0 then
begin
Stream1.CopyFrom(Sd,sd.Size);
stream1.SaveToFile('backup.jpg');
imgPic.Picture.LoadFromFile('backup.jpg');
end;
finally
stream1.Free;
sd.Free;
end;
end
else
imgPic.Picture.Assign(nil);
end;
end;
procedure TFrmTreeViewDB.FormCreate(Sender: TObject);
begin
Getdir(0,dir);
dir:=dir+'\backup.jpg';
ADOConn.ConnectionString:='Provider=SQLOLEDB.1;Pass
word="";Persist Security Info=True;User ID=sa;Initial Catalog=
DelphiClassical200';
ADOConn.Open;
end;
procedure TFrmTreeViewDB.openDB;
begin
With AQList do
begin
close;
Sql.Clear;
Sql.Add('select * from TB_Worker');
open;
end;
end;
procedure TFrmTreeViewDB.FormShow(Sender: TObject);
begin
addDepartment;
openDB;
ShowField;
end;
Procedure TFrmTreeViewDB.addDepartment;
var
node:TTreeNode;
begin
With AQlist do
begin
Close;
sql.Clear;
Sql.Add('select * from TB_dePartment');
open;
While not Eof do
begin
node:=TTreeNode.Create(nil);
node:=TVList.Items.Add(nil,Fieldbyname('partname').AsString);
AddWorker(node);
next;
end;
end;
end;
procedure TFrmTreeViewDB.AddWorker(var Node:TTreeNode);
var
List:TADOQuery;
begin
List:=TAdoQuery.Create(nil);
List.Connection:=ADOConn;
with List do
begin
Close;
Sql.Clear;
Sql.Add('select * from TB_Worker where dePartMent=:Par');
parameters.ParamByName('par').Value:=Node.text;
open;
While not Eof do
begin
TVlist.Items.AddChild(node,FieldbyName('Name').AsString);
next;
end;
end;
List.Free;
//
end;
procedure TFrmTreeViewDB.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TFrmTreeViewDB.TVListClick(Sender: TObject);
begin
if not TVlist.Selected.HasChildren then
begin
AQList.Locate('Name',TVlist.Selected.Text,[loCaseInsensitive]);
Showfield;
end;
end;
end.