首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

知道bookmark的帮个忙解决思路

2012-03-24 
知道bookmark的帮个忙unitUnit1interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Cont

知道bookmark的帮个忙
unit   Unit1;

interface

uses
    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;
  {mark:tbookmark;}
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.GetBookmark;
  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.GotoBookmark(tv.Selected.data);
end;

end.

[解决办法]
Pointer

热点排行