unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, DB, ADODB, Grids, DBGrids,
ComCtrls, newdBTV, fcdbtreeview;type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DBMemo1: TDBMemo;
DBImage1: TDBImage;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBComboBox1: TDBComboBox;
DBRadioGroup1: TDBRadioGroup;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
StatusBar1: TStatusBar;
tv: TTreeView;
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure tvChange(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button8Click(Sender: TObject);
begin
close;
end;procedure TForm1.FormCreate(Sender: TObject);
var
mynode:ttreenode;
{:tbook;}
begin
ADOtable1.Active:=true;
adotable2.active:=true;
repeat
mynode:=tv.Items.Add(tv.selected,adotable1.fieldbyname('xh').asstring);
tv.items.addchild(mynode,adotable1.fieldbyname('xm').asstring);
adotable1.GetBook;
adotable1.Next;
until adotable1.eof;
end;procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
{if adotable1.State=dsinsert then
statusbar1.panels[0].Text:='数据表处于插入状态';
if adotable1.State=dsedit then
statusbar1.panels[0].Text:='数据表处于编辑状态';
if adotable1.State=dsbrowse then
statusbar1.panels[0].Text:='数据表处于浏览状态';
if adotable1.State=dssetkey then
statusbar1.panels[0].Text:='数据表处于查询状态';}
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if adotable1.CanModify then
begin
adotable1.append;
button1.enabled:=false;
button2.enabled:=false;
button3.enabled:=false;
button4.enabled:=false;
button5.enabled:=false;
button8.enabled:=false;
end
else
showmessage('当前数据表不能加入任何信息!');end;procedure TForm1.Button2Click(Sender: TObject);
begin
if messagedlg('确实要删除当前记录吗?',mtinformation,[mbok,mbcancel],0)=mrok then
adotable1.Delete;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
if adotable1.CanModify then
begin
adotable1.edit;
button1.enabled:=false;
button2.enabled:=false;
button3.enabled:=false;
button4.enabled:=false;
button5.enabled:=false;
button8.enabled:=false;
end
else
showmessage('当前数据不能修改');
end;procedure TForm1.Button4Click(Sender: TObject);
var
i,code:integer;
scope:string;
begin
repeat
scope:=inputbox('移动指针位置','请属于移动距离:','0');
val(scope,i,code);
if code<>0 then
showmessage('你输入了一个错误的移动范围,请重新输入!');
until code=0 ;
adotable1.MoveBy(i);
end;procedure TForm1.Button5Click(Sender: TObject);
var
loctstr:string;
begin
loctstr:=inputbox('按学号查询','请输入学号:','0');
if not adotable1.locate('xh',loctstr,[locaseinsensitive])then
showmessage('无匹配记录!');end;procedure TForm1.Button6Click(Sender: TObject);
begin
if adotable1.Modified then
begin
adotable1.post;
dbnavigator1.Enabled:=true;
button1.enabled:=true;
button2.enabled:=true;
button3.enabled:=true;
button4.enabled:=true;
button5.enabled:=true;
button8.enabled:=true;
end;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
adotable1.cancel;
dbnavigator1.Enabled:=true;
button1.enabled:=true;
button2.enabled:=true;
button3.enabled:=true;
button4.enabled:=true;
button5.enabled:=true;
button8.enabled:=true;
end;procedure TForm1.tvChange(Sender: TObject; Node: TTreeNode);
begin
adotable1.GotoBook(tv.Selected.data);
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, DB, ADODB, Grids, DBGrids,
ComCtrls, newdBTV, fcdbtreeview;type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DBMemo1: TDBMemo;
DBImage1: TDBImage;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBComboBox1: TDBComboBox;
DBRadioGroup1: TDBRadioGroup;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
StatusBar1: TStatusBar;
tv: TTreeView;
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure tvChange(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button8Click(Sender: TObject);
begin
close;
end;procedure TForm1.FormCreate(Sender: TObject);
var
mynode:ttreenode;
{:tbook;}
begin
ADOtable1.Active:=true;
adotable2.active:=true;
repeat
mynode:=tv.Items.Add(tv.selected,adotable1.fieldbyname('xh').asstring);
tv.items.addchild(mynode,adotable1.fieldbyname('xm').asstring);
adotable1.GetBook;
adotable1.Next;
until adotable1.eof;
end;procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
{if adotable1.State=dsinsert then
statusbar1.panels[0].Text:='数据表处于插入状态';
if adotable1.State=dsedit then
statusbar1.panels[0].Text:='数据表处于编辑状态';
if adotable1.State=dsbrowse then
statusbar1.panels[0].Text:='数据表处于浏览状态';
if adotable1.State=dssetkey then
statusbar1.panels[0].Text:='数据表处于查询状态';}
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if adotable1.CanModify then
begin
adotable1.append;
button1.enabled:=false;
button2.enabled:=false;
button3.enabled:=false;
button4.enabled:=false;
button5.enabled:=false;
button8.enabled:=false;
end
else
showmessage('当前数据表不能加入任何信息!');end;procedure TForm1.Button2Click(Sender: TObject);
begin
if messagedlg('确实要删除当前记录吗?',mtinformation,[mbok,mbcancel],0)=mrok then
adotable1.Delete;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
if adotable1.CanModify then
begin
adotable1.edit;
button1.enabled:=false;
button2.enabled:=false;
button3.enabled:=false;
button4.enabled:=false;
button5.enabled:=false;
button8.enabled:=false;
end
else
showmessage('当前数据不能修改');
end;procedure TForm1.Button4Click(Sender: TObject);
var
i,code:integer;
scope:string;
begin
repeat
scope:=inputbox('移动指针位置','请属于移动距离:','0');
val(scope,i,code);
if code<>0 then
showmessage('你输入了一个错误的移动范围,请重新输入!');
until code=0 ;
adotable1.MoveBy(i);
end;procedure TForm1.Button5Click(Sender: TObject);
var
loctstr:string;
begin
loctstr:=inputbox('按学号查询','请输入学号:','0');
if not adotable1.locate('xh',loctstr,[locaseinsensitive])then
showmessage('无匹配记录!');end;procedure TForm1.Button6Click(Sender: TObject);
begin
if adotable1.Modified then
begin
adotable1.post;
dbnavigator1.Enabled:=true;
button1.enabled:=true;
button2.enabled:=true;
button3.enabled:=true;
button4.enabled:=true;
button5.enabled:=true;
button8.enabled:=true;
end;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
adotable1.cancel;
dbnavigator1.Enabled:=true;
button1.enabled:=true;
button2.enabled:=true;
button3.enabled:=true;
button4.enabled:=true;
button5.enabled:=true;
button8.enabled:=true;
end;procedure TForm1.tvChange(Sender: TObject; Node: TTreeNode);
begin
adotable1.GotoBook(tv.Selected.data);
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货