• 修改类别(类写法)


    类写法:

    1,定义自动加载类别值到combobox下拉框里

    unit UAutoUpdateCombox;
    
    interface
    uses
        Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Data.DB, Data.Win.ADODB,
      Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd, Vcl.Menus,
      Vcl.StdCtrls, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh,
      EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh,EhLibADO, Vcl.Buttons;
    
    type TAutoUpdateCombox=class
      public
      class procedure autoadoqfieldstocombox(var combox:TComboBox;SAdq:TADOQuery);
    end;
    
    implementation
    
    uses Uleibie;
    class procedure TAutoUpdateCombox.autoadoqfieldstocombox(var combox:TComboBox;SAdq:TADOQuery);
     var
      i: Integer;
      List: TStringList;
    begin
     List := TStringList.Create;
    try
      //刷新前全部清空原来的列表
      combox.Items.Clear;
      {建立 List}
      List.Sorted := True;           {指定排序}
      List.Duplicates := dupIgnore;  {避免重复}
    
      {把数据加入到 DBComboBox1}
    
        List.Clear;
        SAdq.open;
        SAdq.First;
        while not SAdq.Eof do
        begin
          List.Add(SAdq.FieldByName('类别').AsString);
          SAdq.Next;
        end;
    
        //把获取到的值加载给combbobox的下拉选项里
        combox.Items:=List;
        //刷新数据库
        SAdq.Requery;
    finally
       List.Free;
    end;
      end;
    
    end.

    2,定义单击确定,更新客户选的combobox的类别值到access数据库里

    unit UUpdateLeiBie;
    
    interface
    uses
        Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Data.DB, Data.Win.ADODB,
      Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd, Vcl.Menus,
      Vcl.StdCtrls, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh,
      EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh,EhLibADO, Vcl.Buttons;
    
    type TUpdateLeiBie=class
      public
      class procedure updateselectedleibie(var combox:TComboBox; SAdq:TADOQuery);
    end;
    
    implementation
    
    uses FDataPool;
    class procedure TUpdateLeiBie.updateselectedleibie(var combox:TComboBox; SAdq:TADOQuery);
    var
    MyAdoq:TADOQuery;
    LeiBie,SBiao: string;
    begin
      MyAdoq := TADOQuery.Create(nil);
      SBiao:=copy(SAdq.name,4,length(SAdq.name)-3);
      try
        MyAdoq.Connection := frmDataPool.ADOConnection1;
        LeiBie:=combox.text;
        with MyAdoq do
        begin
          Close;
          SQL.Text := 'UPDATE '+SBiao+' SET 类别 ='+ LeiBie.QuotedString+'where 选中 = true';
          ExecSQL;
        end;
        //防止程序假死
        Application.ProcessMessages;
    
        //刷新纪录
      SAdq.Requery;
    
      finally
        MyAdoq.Free;
      end;
    
    end;
    
    end.

    3.类引用使用

    unit Uleibie;
    
    interface
    
    uses
        Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Data.DB, Data.Win.ADODB,
      Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd, Vcl.Menus,
      Vcl.StdCtrls, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh,
      EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh,EhLibADO, Vcl.Buttons;
    
    type
      TFleibie = class(TForm)
        Label1: TLabel;
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        ComboBox1: TComboBox;
        procedure BitBtn1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Fleibie: TFleibie;
    
    implementation
    
    {$R *.dfm}
    
    uses FDataPool, 日常管理助手, UInitializeDatabaseAdoSqlApi,
      UAutoUpdateCombox, UUpdateLeiBie;
    
    procedure TFleibie.BitBtn1Click(Sender: TObject);
    begin
    //更新类别值到access数据库中
     TUpdateLeiBie.updateselectedleibie(ComboBox1,frmDataPool.qry需要做的事);
    end;
    
    
    
    
    procedure TFleibie.FormCreate(Sender: TObject);
    begin
    //更新adoquery里面的fields值到combobox的item里;
    TAutoUpdateCombox.autoadoqfieldstocombox(ComboBox1,frmDataPool.qry需要做的事);
    end;
    
    end.
  • 相关阅读:
    查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩 从SC表中选取score小于60的,并group by sid,having count 大于1
    SQL经典实例书上的数据代码
    mysql练习题
    mysql中alter语句
    如何解决SSH登录Solaris主机速度慢的问题
    Solaris10安装配置LDAP(iPlanet Directory Server )
    Oracle 11g oracle 用户密码过期问题 (ZT)
    Changing Controller Numbers in Solaris
    SPARC T4 RAID Setup (ZT)
    Oracle11g 配置DG broker
  • 原文地址:https://www.cnblogs.com/ddxxxb/p/7069995.html
Copyright © 2020-2023  润新知