视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据录入时自动复制原记录
2020-11-09 07:31:14 责编:小采
文档


在数据库应用系统的数据录入过程中,各条记录之间有大量的重复数据,如果每条记录都让录入人员全部手工录入,其间的重复劳动是相当大的,既降低了工作效率,又显得我们的软件不够“专业”。 其实我们完全可以用代码来实现数据库表记录的自动复制,当客户录入

在数据库应用系统的数据录入过程中,各条记录之间有大量的重复数据,如果每条记录都让录入人员全部手工录入,其间的重复劳动是相当大的,既降低了工作效率,又显得我们的软件不够“专业”。
其实我们完全可以用代码来实现数据库表记录的自动复制,当客户录入一条新的记录的时候,我们可以把当前记录的数据复制到录入界面的各输入框中,客户只需做很少的修改,就完成了一条新记录的编辑,然后直接保存就可以了。
本文的示例用 Delphi5.0 制作,使用 ADO 方法存取 Access 数据库中的表 test,表的第一个字段是“自动编码”字段,在记录复制时要跳过。首先在 Form1 上添加 ADOConnection1、ADODataSet1、DataSource1、DBGrid1 等数据库相关组件,使用连接向导把 ADOConnection1 与 Access 数据库连接起来,把 ADOConnection1 的 LoginPrompt 属性设置为 False,其它组件的对应属性设置如下:
ADODataSet1.Connection :=ADOConnection1;
ADODataSet1.CommandText :='select * from test';
ADODataSet1.Active :=True;
DataSource1.DataSet :=ADODataSet1;
DBGrid1.DataSource :=DataSource1;
这样以来,就可以在 DBGrid 中看到数据库表 test 中的数据了。
然后可以在窗体上添加一些数据敏感的数据输入控件(如 DBEdit 等),将其 DataSource 属性设为 DataSource1,再分别与各字段绑定起来。
再在窗体上添加 2 个按钮 Button1 和 Button2,它们的触发事件如下:
procedure TForm1.Button1Click(Sender: TObject);
var
strList: TStringList; // 声明字符串列表
i: integer;
begin
strList :=TStringList.Create;
for i :=0 to ADODataSet1.FieldCount-1 do
strList.Add(ADODataSet1.Fields[i].AsString);
// 把各字段的值保存到 TStringList 中。不能应用数组,
// 因为数组不能保存不同类型的数据。
ADODataSet1.Insert; // 插入一条新记录
for i :=1 to form1.ADODataSet1.FieldCount-1 do
ADODataSet1.Fields[i].AsString := strList[i];
// 把 TStringList 中的数据写回到新的记录中。
// 注意 TStringList 的下标从 1 开始,跳过了表的“自动编码”字段。
strList.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ADODataSet1.Post; // 保存新记录
end;

程序编译运行后,按 Button1 按钮,就会添加一条新的记录,记录的内容为添加前记录指针指向的记录的内容。我们可以对现有数据做些改动,然后按 Button2 按钮保存新记录。程序的有关说明在代码中。

张庆 Email: zhangking@263.net Phone: 13152101936 QQ: 9365822
http://soft.why100000.com 2003.8.18

下载本文
显示全文
专题