📄 dm.pas
字号:
unit dm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, DB,
ADODB, bsMessages, bsSkinData, Forms, Dialogs, IniFiles;
type
Tdbs = class(TDataModule)
ADOConn: TADOConnection;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
dlgMsg: TbsSkinMessage;
private
{ Private declarations }
public
{ Public declarations }
psYWY, psPassword : String; // 人员名,人员密码
piGB : Integer; // 人员级别
// 经理 := 2 录入员 := 1 业务员 := 0
procedure CreateForm(FormClass: TFormClass);
procedure ShowMsgDlgInf(Txt : String);
function ShowMsgDlgCfm(Cap, Txt : String) : TModalResult;
procedure PostWithError(DataSet: TDataSet);
procedure CopyRecord(DataSet: TDataSet);
end;
var
dbs: Tdbs;
implementation
{$R *.dfm}
procedure Tdbs.CreateForm(FormClass: TFormClass);
begin // 创建窗体
with FormClass.Create(self) do
try
ShowModal;
finally
Free;
end;
end;
procedure Tdbs.ShowMsgDlgInf(Txt : String);
begin
dlgMsg.MessageDlg(Txt, mtInformation, [mbOK], 0);
end;
function Tdbs.ShowMsgDlgCfm(Cap, Txt : String) : TModalResult;
begin
Result := dlgMsg.MessageDlg2(Txt, Cap, mtConfirmation, [mbYes, mbNo], 0);
end;
procedure Tdbs.PostWithError(DataSet: TDataSet);
begin
with DataSet do
try
Post;
except
if DBS.ADOConn.Errors.Count > 0 then
begin
// ShowMsgDlgInf(IntToStr(DBS.ADOConn.Errors[0].NativeError));
case DBS.ADOConn.Errors[0].NativeError of
2627 : ShowMsgDlgInf('数据库错误(关键字重复): 数据库中已经存在相同主关键字的记录!');
515 : ShowMsgDlgInf('数据库错误(缺少数据项): 字段必须输入数据!')
else
ShowMsgDlgInf('数据库更新失败, 错误代码:' + IntToStr(DBS.ADOConn.Errors[0].NativeError));
end;
Abort;
end;
end;
end;
procedure Tdbs.CopyRecord(DataSet: TDataSet);
var
aField : Variant;
I : Integer;
begin // 复制当前记录
with DataSet do
begin
// 创建一个VARIANT数组
aField := VarArrayCreate([0, FieldCount -1], VarVariant);
// 读数据到数组
for I := 0 to FieldCount - 1 do
if Fields[I].Tag = 0 then
aField[I] := Fields[I].Value;
Append; // 复制数组数据到数据库
// 如果数据库表格使用自动编号,则不能按此方法复制
for I := 0 to FieldCount - 1 do
if Fields[I].Tag = 0 then
Fields[I].Value := aField[I];
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -