科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Delphi7.0实现添加记录的“携带”实现

Delphi7.0实现添加记录的“携带”实现

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

数据录入是数据处理的基本功能,录入操作方便与否是衡量应用程序交互性指标之一 。

作者:Kapok.Chan 来源:yesky 2007年11月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
4、以上调用的过程及函数——MyRecordScatTo、MyRecordGatherFrom、My_TablePostError的代码如
下:

function TForm1.MyRecordScatTo(DataSet0:TDataSet;var MyDynamic_Record0:Variant):boolean; //正确
返回TRUE,否则为FALSE
//功能:读取(当前记录)字段值存入动态数组中
var i:integer;
begin
try
i:=DataSet0.FieldCount; //取字段数
MyDynamic_Record0:=VarArrayCreate([0,i],varVariant); //MyVariant
if (not DataSet0.Active) //or(DataSet0.eof)
then begin
MessageBeep(MB_OK);
MessageDlg('当前为空记录,无法使用"携带"!',mtError, [mbOk], 0);
Result:=false;
Exit;
end;
with DataSet0 do //DBGrid0
begin
for i:=0 to FieldCount-1 do
begin
if Fields[i].DataType<>ftMemo //非"备注"型数据
then MyDynamic_Record0[i]:=Fields[i].Value;
end; //for i:
end;
Result:=true;
except
Result:=false
end //try
end; // MyRecordScatTo

function TForm1.MyRecordGatherFrom(DataSet0:TDataSet;var MyDynamic_Record0:Variant):boolean; //
正确返回TRUE,否则为FALSE
//功能:从动态数组中获取相应值,来更改(当前记录)字段值
var i:integer;
begin
Result:=true;
with DataSet0 do //
begin
try
for i:=0 to FieldCount-1 do
begin //Edit;
if (Fields[i].DataType<>ftMemo) //非"备注"型数据
then Fields[i].Value:=MyDynamic_Record0[i];
end; //for i
except
Result:=false;
end //try
end;
end; // MyRecordGatherFrom

procedure TForm1.My_TablePostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction;sFieldName:string);
//功能:保存时数据错误信息捕捉
var sMes:string;
begin
MessageBeep(0);
//以下捕捉"错误信息"
sMes:='当前记录非法!更正后再保存。';
if Pos(UpperCase('key violation'),UpperCase(e.Message))<>0
then sMes:='"'+sFieldName+'"内容重复,请更改后再保存!';
if Pos(UpperCase('must have a value'),UpperCase(e.Message))<>0
then sMes:='当前栏目必须输入值!';// '"'+sFieldName+'"字段必须输入值!';
sMes:=sMes+Chr(13)+Chr(10)+'(Esc键取消操作)';
MessageDlg(sMes,mtError, [mbOk], 0);
Action:=daAbort; //放弃编辑且不显示错误信息
end; //调用通用表数据处理模块

  5、运行程序,选择<使用“携带”> 后,按<添加>(或按[Insert]键)出现的画面如下图所示(以第2条记录为源):



  以上代码在下述环境中调试通过:中文Win2000 Pro,Delphi 7.0。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章