⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdbc.~pas

📁 一个很好的例子
💻 ~PAS
字号:
unit fdbc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ExtCtrls, ComCtrls, StdCtrls, ImgList, Buttons,
  ToolWin, Menus;
type//treeview指针类型类定义
  myrec=^tmyrec;
  tmyrec=record
  name:string;
end;
type
  TF_dbc = class(TForm)
    Panel1: TPanel;
    Panel3: TPanel;
    Panel2: TPanel;
    Splitter2: TSplitter;
    Panel4: TPanel;
    DBGrid1: TDBGrid;
    TreeView1: TTreeView;
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Panel5: TPanel;
    Label1: TLabel;
    PopupMenu1: TPopupMenu;
    N5: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    ImageList1: TImageList;
    procedure order(sender:tobject);
    procedure addsubclick(sender:tobject);
    procedure TreeView1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure N5Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
  private
    { Private declarations }
  public
    con_bio:string;//当前操作表名
    { Public declarations }
  end;

var
  F_dbc: TF_dbc;
  node:TTreenode;

implementation
  uses fdata,faddx;

{$R *.dfm}
procedure Tf_dbc.order(sender:tobject);
var
  number:integer;
begin
  number:=0;
  datamodule3.carse.DataSet.First;
  while datamodule3.carqy.eof=false do
  begin
    number:=number+1;
    datamodule3.carqy.Edit;
    datamodule3.carse.DataSet.Fields[0].AsString:=inttostr(number);
    datamodule3.carqy.Post;
    datamodule3.carse.DataSet.Next;
  end;
  datamodule3.carse.DataSet.First;
end;
procedure TF_dbc.addsubclick(sender:Tobject);//treeview加入子节点
var
  dname:string;//数据库中科目表的名称
  dindex:integer;
begin
  dindex:=0;//初始化dindex
  datamodule3.treese.DataSet.First;
  while (datamodule3.treeqy.Eof=False) do //动态加入treeview目录
  begin
   datamodule3.treese.DataSet.Edit;
   datamodule3.treese.DataSet.Fields[1].AsString:=inttostr(dindex);
   dname:=datamodule3.treese.DataSet.Fields[0].AsString;
   Treeview1.items.AddChildObject(node,dname,nil);
   dindex:=dindex+1;
   datamodule3.treeqy.Next;
  end;
end;

procedure TF_dbc.TreeView1Click(Sender: TObject);
var
  selectindex:integer;
begin
  selectindex:=treeview1.Selected.Index;//将被选择科目节点的索引号
  with datamodule3 do
  begin
    treese.DataSet.First;
    while (datamodule3.treeqy.Eof=False) do
    begin
      if ((selectindex)=strtoint(trim(treese.DataSet.Fields[1].AsString))) then
      begin
        con_bio:=trim(treese.DataSet.Fields[3].asstring);//con_bio为操作的表名
        carqy.Close;
        carqy.SQL.Clear;
        carqy.SQL.Add('select*from'+' '+con_bio);
        carqy.Open;
        label1.Caption:='当前操作表:'+treese.DataSet.Fields[0].asstring;
        dbgrid1.Columns[0].Title.caption:='编号';
        dbgrid1.Columns[1].Title.caption:='题目';
        dbgrid1.Columns[2].Title.caption:='选项A';
        dbgrid1.Columns[3].Title.caption:='选项B';
        dbgrid1.Columns[4].Title.caption:='选项C';
        dbgrid1.Columns[5].Title.caption:='选项D';
        DBGrid1.Columns[6].Visible := False;//不显示此字段
        dbgrid1.Columns[7].Title.caption:='答案';
        Dbgrid1.Columns[8].Visible:=False;
        dbgrid1.Columns[1].Width:=100;
        dbgrid1.Columns[2].Width:=100;
        dbgrid1.Columns[3].Width:=100;
        dbgrid1.Columns[4].Width:=100;
        dbgrid1.Columns[5].Width:=100;
        break;
      end;
      datamodule3.treeqy.Next;
    end;
  end;
end;

procedure TF_dbc.SpeedButton1Click(Sender: TObject);
begin
  F_addx.change:=false;
  f_addx.ComboBox1.Visible:=true;
  f_addx.GroupBox1.Visible:=true;
  f_addx.Label6.Visible:=true;
  f_addx.ShowModal;
end;

procedure TF_dbc.SpeedButton5Click(Sender: TObject);
begin
  F_addx.change:=false;
  f_addx.ComboBox1.Visible:=true;
  f_addx.Label6.Visible:=true;
  f_addx.GroupBox1.Visible:=false;
  f_addx.ShowModal;
end;

procedure TF_dbc.SpeedButton4Click(Sender: TObject);
begin
  close;
end;

procedure TF_dbc.SpeedButton3Click(Sender: TObject);
begin
  if application.MessageBox('是否删除。','提示!',mb_yesno)=6 then
  begin
    datamodule3.carse.DataSet.Delete;
    order(sender);
  end
  else
  begin
  end;
end;

procedure TF_dbc.SpeedButton2Click(Sender: TObject);
begin
  f_addx.change:=true;
  f_addx.ComboBox1.Visible:=true;
  f_addx.Edit1.Visible:=true;
  f_addx.Edit2.Visible:=true;
  f_addx.Edit3.Visible:=true;
  f_addx.Edit4.Visible:=true;
  if trim(datamodule3.carse.DataSet.Fields[2].AsString)='' then
    f_addx.GroupBox1.Visible:=false
  else
    f_addx.GroupBox1.Visible:=true;
  f_addx.Memo1.Text:=datamodule3.carse.DataSet.Fields[1].AsString;
  f_addx.Edit1.Text:=datamodule3.carse.DataSet.Fields[2].AsString;
  f_addx.Edit2.Text:=datamodule3.carse.DataSet.Fields[3].AsString;
  f_addx.Edit3.Text:=datamodule3.carse.DataSet.Fields[4].AsString;
  f_addx.Edit4.Text:=datamodule3.carse.DataSet.Fields[5].AsString;
  f_addx.ComboBox1.Text:=datamodule3.carse.DataSet.Fields[7].AsString;
  f_addx.image1.Picture.Assign(datamodule3.carse.DataSet.Fields[6]);
  f_addx.ShowModal;

end;

procedure TF_dbc.FormShow(Sender: TObject);
begin
  datamodule3.carqy.Close;
  node:=Treeview1.items.AddObject(nil,'数据库',nil);
  F_dbc.addsubclick(sender);// 添加子节点
  node.Expanded:=True;//开启节点
end;

procedure TF_dbc.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  treeview1.Items.Clear;
end;

procedure TF_dbc.N5Click(Sender: TObject);
begin
  speedbutton1.Click;
end;

procedure TF_dbc.N1Click(Sender: TObject);
begin
  speedbutton5.Click;
end;

procedure TF_dbc.N2Click(Sender: TObject);
begin
  speedbutton2.Click;
end;

procedure TF_dbc.N4Click(Sender: TObject);
begin
  speedbutton3.Click;
end;

procedure TF_dbc.N7Click(Sender: TObject);
begin
  speedbutton4.Click;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -