阅读目录
- C#和VB数据访问的比较
- AccessDB的设计
- 数据库的连接
- 三种主要操作
- 错误输出及调试
- 小结
C#和VB数据访问的比较
C#中要进行一次普通的数据库查询,需要创建连接,再根据具体的数据库类型,创建相关的适配器对象,再创建命令对象,执行后,将结果填入到Dataset中,用户拿到Dataset后,再从其中的DataTable中取得数据。这种处理方式存在种种不便之处:
1、需要一系列复杂操作才能完成一个简单功能,涉及的对象多、实现的逻辑和自然的思维习惯有所不同。
2、对不同类型的数据库处理有所不同,用户需要记忆不同类型数据库之间细微的差异。
3、有些底层工作需要用户完成,如连接有效性的检查、出错后连接的重建等工作。
回顾微软的开发平台的发展历史,最有用户基础的莫过于Visual Basic了。1998年推出的VB6,在2014年的Tiobe 编程语言排行中仍在前十之列。
在VB6中,数据库的操作可谓简单至极,只要拖一个数据库的控件就可以使用大多数的数据库操作了。即使要用纯代码方式控制,也非常简单,通过以下步骤即可完成:
Set oCn=new connection
Set oRS=oCn.Excute(strSQL)
oCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb"
While Not eof(oRS)
'处理
oRS.MoveNext
Wend
上面的代码,懒得进VB去输入,直接手工输入的,估计也差不离,从另一个侧面也可以看出VB代码的简洁。习惯了这样简单的数据库访问方式,一直觉得C#中的数据库处理方式过于复杂。正因为如此,才不断摸索简化数据库访问的手段。经过各种思路的演化,由繁到简,最终形成一个适用性较强的、经过多次开发实践检验的快速数据访问机制AccessDB。
AccessDB的设计
从我个人的经验出发,回顾参与过的各种软件开发项目,数据库访问的要求大同小异,用20/80法则可以很好地概况:80%的情况下,只会用到20%的功能。因此,只要能够封装这20%的功能,就可以适应绝大多数数据库操作的要求了。如果恰好需要剩余的20%的话,那就按照常规的方法来访问即可。
综合起来,希望数据访问机制能够达到以下的目标:
1、足够简单。简单到无需记忆。
2、适用多种数据库。中小型应用系统采用的数据库类