一种基于C#的审计数据采集方法的设计与实现
2015-06-08陈琦,陈伟
陈 琦,陈 伟
(南京审计学院 管理科学与工程学院,南京 211815)
0 引言
审计对象的信息化使得审计信息成为必然。传统的审计主要是针对纸质账本进行分析,信息化环境下,被审计单位的财务数据和业务数据以电子数据的形式保存。为了完成审计任务,审计人员必须对电子数据进行审计,为了对电子数据进行审计,必须把被审计单位的电子数据采集到审计软件中来,因此,研究审计数据采集非常重要。本文中,笔者基于Visual C#分析了如何设计与实现审计数据采集方法。
1 数据采集系统的设计原理分析
数据采集系统的设计原理为建立的系统是基于ADO.NET框架,采用C#语言编写而成,预计将不同类别的电子数据采集到VS2008的DataGridView组件中,以进一步实现后期对于数据的分析等步骤。采集的基本思路分析如下:
(1)VS2008的组件DataGridView是一个二维表,由于现在的数据基本上都是采用关系模型建立,所以将数据采集到该组建之中是合适的;DataGridView的第一行作为电子数据的属性列,剩下的数据一次放入该组建的下行当中。
以某商品数据为例(陈伟,2012),如图1所示。
图1 某商品数据的文本格式
采集到审计软件中或数据库系统中之后的效果如图2所示。
图2 文本数据被采集到审计软件或数据库系统后的效果
(2)通过数据集 DataSet将数据采集至 VS2008的组件DataGridView中在ADO.NET框架中,通过使用数据集,可以在本地缓存中表示数据,并且可以为这些数据提供一个关系编程模型,而不必考虑它的来源。数据集在ADO.NET中的对象是DataSet。DataSet可以看成是在应用程序所在计算机内存中逻辑的数据库,这样的数据库同样可以进行增、删、改、查操作,并且可以将这些操作传递给数据库服务器来同步DataSet和数据库中数据的一致性。其过程可简要描述为:首先在客户端与数据库服务器端之间建立连接;然后,客户端应用程序向数据库服务器发送数据请求。在数据库服务器接收到数据请求之后,找出条件符合的数据,发送到之前发数据的客户端的数据集,此时连接断开。其原理如图3所示。
2 数据采集系统的实现
基于以上分析,采用VS2008作为开发工具开发该数据采集系统,所实现的数据采集系统主界面如图4所示。文本格式数据、Excel数据和Access数据3种数据格式的采集方法等主要功能模块的代码设计分别说明如下。
2.1 文本格式数据采集的设计
文本文件是一种非常常用的文件格式,因其通用的阅读方式而经常被用做不同单位的数据交换文件格式。其设计原理说明如下图4所示。
(1)明确文本数据里面的格式内容,即不同字段是用什么字符区分的,是用“,”还是“;”等符号分割,如图5所示。
图5 明确文本数据里面的格式内容
(2)新建StreamReader的声明来读取文本内容,用split将文本格式的字符串根据上一步骤的区分符号截断,使得文本里面的每一行形成一个数组。
(3)初始化DataTable类型,将上一步所得数据依次作为列名赋给DataTable的column中。
(4)新建datarow,将下一行的文本数据按照上面的方式形成数组,赋到datarow的对象当中。
(5)反复执行第4步直到文本都遍历结束。
2.2 Excel数据采集的设计
Excel数据采集的设计原理说明如下:
(1)利用OleDbConnecton 命令,把“Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=文件路径”作为其参数。
(2)新建DataTable对象,将OleDbConnecton对象的一个方法GetOleDbSchemaTable赋给datatable对象。
(3)关于Excel表中若干个工作表的处理,方法如下:
①新建comboBox组建来存储每个工作表的名字,方便查找具体的查找到不同的表。
②对于comboBox的item添加datatable对象的一个属性Rows[行] ["TABLE_NAME"].tostring()。 代码下:
其中,comboBox1组件是用来存放导入的Excel的每一个工作表sheet的名字。
2.3 Access数据采集的设计
Access数据采集的设计和导入Excel数据几乎一致,具体代码如下:
其中,comboBox1组件是用来存放导入的Excel的每一个工作表sheet的名字。
3 结束语
本文根据目前开展计算机辅助审计的需要,以文本格式数据、Excel数据和Access数据3种格式的数据为例,研究并实现了如何数据采集,从而为今后开展计算机辅助审计提供了技术支持。当然,数据采集的目的不仅仅只是为了将数据采集出来,而是为了对于被采集的数据进行有效的分析,如上所示,我们将数据采集到了VS2008的组件DataGridView之中,那么对于这些数据,我们在后续工作中即可以在基于DataGridView的组件上进行操作。当然,对于Excel和Access等数据库的数据,我们在采集的过程之中,也可以直接对Dataset的数据集对象进行分析,比如比较常见的判断数据的有效性(是否是整数,或是否在某一个范围之内,或者是否不能为空等),都可以将DataSet对象转换成DataTable对象,再利用它的Select方法进行简单快速的分析。
[1]陈伟.计算机辅助审计原理及应用[M].第2版.北京:清华大学出版社,2012.
[2]陈伟,张金城,R Qiu.计算机辅助审计技术(CAATs)研究综述[J].计算机科学,2007,34(10):290-294.
[3]陈伟,Robin Qiu,刘思峰.一种基于数据匹配技术的审计证据获取方法[J].计算机科学,2008,35(8):183-187.
[4]国家863计划审计署课题组.计算机审计数据采集与处理技术研究报告[M].北京:清华大学出版社,2006.
[5]欧阳炜昊.Visual C#2008 原理与系统开发[M].北京:清华大学出版社,2009.
[6]A F Alali,F Pan.Use of Audit Software:Review and Survey [J].Internal Auditing,2011,26(5):29-36.
[7]A J ILambrechts,J E Lourens,P B Millar,et al.Global Technology Audit Guide (GTAG):Data Analysis Technologies[R].The Institute of Internal Auditors,2011.
[8]L B Robert,E D Harold.Computer-assisted Audit Tools and Techniques:Analysis and Perspectives[J].Managerial Auditing Journal,2003,18(9):725-731.