求个用来做数据库开发的窗体基类

huangjinyin 2006-12-29 02:00:17
求个用来做数据库开发的窗体基类,谁有的给一个,多谢
...全文
213 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangjinyin 2006-12-29
  • 打赏
  • 举报
回复
对,楼上兄弟可否给一份,分全给你了,mail:huangjinyin66@163.com
YouTuBe 2006-12-29
  • 打赏
  • 举报
回复
类似这样的吧,自己参照着写写吧:


type
TfrmBaseSigleEdit = class(TBaseFrame)
cxPageControl1: TcxPageControl;
cxTabSheet1: TcxTabSheet;
Panel1: TPanel;
Panel2: TPanel;
ActionList1: TActionList;
dsData: TDataSource;
DataSetInsert1: TDataSetInsert;
DataSetDelete1: TDataSetDelete;
DataSetEdit1: TDataSetEdit;
DataSetPost1: TDataSetPost;
DataSetCancel1: TDataSetCancel;
DataSetRefresh1: TDataSetRefresh;
actQuery: TAction;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
btn_OK: TcxButton;
btn_Cancel: TcxButton;
btn_Refresh: TcxButton;
btn_Delete: TcxButton;
btn_Edit: TcxButton;
btn_Insert: TcxButton;
btn_Query: TcxButton;
DataSetDeleteAll: TDataSetDelete;
btn_DeleteAll: TcxButton;
cxSplitter1: TcxSplitter;
btn_Export_Master: TcxButton;
DataSetExport: TAction;
DataSetImport1: TAction;
procedure DataSetPost1Execute(Sender: TObject);
procedure actQueryExecute(Sender: TObject);
procedure DataSetDelete1Execute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DataSetInsert1Execute(Sender: TObject);
procedure DataSetEdit1Execute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DataSetDeleteAllExecute(Sender: TObject);
procedure cxPageControl1PageChanging(Sender: TObject;
NewPage: TcxTabSheet; var AllowChange: Boolean);
procedure DataSetExportExecute(Sender: TObject);
procedure cxSplitter1CanResize(Sender: TObject; var NewSize: Integer;
var Accept: Boolean);
procedure DataSetImport1Execute(Sender: TObject);
procedure DataSetRefresh1Execute(Sender: TObject);
procedure cxGrid1DBTableView1NavigatorButtonsButtonClick(
Sender: TObject; AButtonIndex: Integer; var ADone: Boolean);
procedure DataSetCancel1Execute(Sender: TObject);
private
{ Private declarations }

protected
FSql: string;

FFrameCaption: string;
FPanelCaption: string;
FModalName: string;
FCheckFields: array of string;

FTable: string; //表名
FKeyField: string; //主键
FKeyAutoInc: Boolean; //主键自动增加

FSaveErrMsg: string; //保存出错信息

FLogContext: string; //操作日志内容

DeltaData: TClientDataSet; //未提交的数据

FDataState: TDataSetState;

FSqlDeleteAll: string;
FLogDeleteAll: string;

procedure SetFocusFirstCtrl(const ALinkedFieldName: string); virtual;
procedure SetFocusLabel; virtual;
function GetFirstVisibleFieldName(AGridTableView: TcxGridDBTableView): string; virtual;

procedure Log; virtual;

public
function DoDelete(): boolean; virtual;
function FDelete(): boolean; virtual;
function CheckDelete(): boolean; virtual;
function BeforeDelete(): boolean; virtual;
function AfterDelete(): boolean; virtual;
function DoDeleteAll(): boolean; virtual;
function DoEdit(): boolean; virtual;
function DoInsert(): boolean; virtual;
function DoSave(): boolean; virtual;
function DoPost(): boolean; virtual;
function DoRefresh(): boolean; virtual;
function DoCancel: Boolean; virtual;

function BeforeSaveData(): boolean; virtual;
function AfterSaveData(): boolean; virtual;
function CheckValid(): boolean; virtual;
function DoQuery: Boolean; virtual;

procedure DoRefreshLookUpData; virtual;

procedure DataSetOnNewRecord(DataSet: TDataSet); virtual;
procedure DataSetAfterScroll(DataSet: TDataSet); virtual;

function WriteLog(ADataSet: TDataSet; AType: TOperatorType;
const AValue: string = ''): Boolean; virtual;

function CheckDuplicate(DataSet: TDataSet; const ATableName: string;
ACheckID,AWhereFields,ACheckFields: array of string;
const AGridView: TcxGridDBTableView = nil;
DataState: TDataSetState = dsOpening;
const SqlWhere:string = ''): Boolean; virtual;

function CheckExists(const FieldName: string;
const GridView: TcxGridDBTableView=nil): Boolean;
end;

var
frmBaseSigleEdit: TfrmBaseSigleEdit;

implementation

uses DM;
。。。
huangjinyin 2006-12-29
  • 打赏
  • 举报
回复
给个思路也行啊,没人有吗

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧