Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9728502
  • 博文数量: 1227
  • 博客积分: 10026
  • 博客等级: 上将
  • 技术积分: 20273
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 12:40
文章分类

全部博文(1227)

文章存档

2010年(1)

2008年(1226)

我的朋友

分类: C/C++

2008-04-23 21:54:16

VC 中使用DB-Library编程(二)(SQL Server)

作者:



  自从上次在刊登了“VC 中使用DB-Library编程(SQL Server)”一文之后,得到了很多朋友的支持和鼓励,有很多朋友提出了宝贵建议,并指出了其中的不足和错误,最近利用业余时间,将原来提供的DBLibrary类重新改写,这次是以动态库(DLL)的方式实现的,在新版的DBLibrary中,有以下变动:
  1. 将原有的DBLibrary类细分为以下几个类
            CDBError——错误处理类,是所有类的父类
    
            CDBSession——处理连接会话类
    
            CDBStatement——处理用户提交的SQL请求,与CDBSession有关联
    
            CDBTable——处理CDBStatement返回的结果集,主要适应有多次循环遍历结果集的需求
    
            CColumn——定义表列类
    
            CBatchCopy——数据批量拷贝类(尚未完成)
    
            CDBStoreProc——执行存储过程,此类针对无结果集返回的存储过程(尚未完成),
    
            有结果集返回的存储过程可以使用CDBStatement类的Open方法来完成
  2. 由原来的类转为动态连接库的方式(dblib.dll)
  3. 修改了原来错误处理类中有的错误信息无法捕捉,错误捕捉更完整
  4. 修改后的版本号改为 V2.0.1(Bata) ,可以使用getVerInfo()取得
  5. 修正了Version 1.0(测试版)处理结果集中的空值异常

目前支持的数据类型:
[char]
[varchar]
[nchar]
[int]
[bit]
[decimal]
[numeric]
[money]
[float]
[smallint]
[smallmoney]
[real]
[text]
[tinyint]
[datetime]
[nvarchar]
[smalldatetime],没有列出的,暂不支持,以后将会进一步完善。 本次设计采用了UML建模方法,也是最近刚学习的,请高手指点。 以下是用例图:



以下是类图,如[图一]:

以下是DBStatement的时序图:

以下是DBTable的时序图:

具体的实现,。解包后有3个文件:

dblib.rar 是源程序文件;

createDemo.sql 是建库脚本;

insertvalue.sql 是初始化表脚本;

  修改相应数据库文件存放路径即可。程序已在win2000server MS SQL Server2000 vc 6.0上调式通过。
  注:在使用之前,请安装SQL Server的客户端开发工具[使用自定义安装并选择"开发工具"下的"头和库"])。第一次使用的朋友,请参考 的“VC 中使用DB-Library编程(SQL Server)”的介绍。
  因才学C 不久,很多东西还在摸索之中,UML也是刚学的,有很多都不懂,请高手指点。
E-Mail:ynzhangyao@163.com,ynzhangyao@sina.com
 

阅读(365) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~