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

最近刚学VC++,觉得VC++在访问数据库时不论使用ODBC、ADO,OLE DB或MFC相应类库都感觉有些繁琐,于是并利用VC++将SQL Server提供的DB-Library库作了一些简单的封装,以方便访问MS SQL Server数据库。SQL Server提供的DB-Library库有多个版本,我用的是WIN32平台下的NTWDBLIB.LIB库,这些库和相应的头文件(SQLFRONT.H与SQLDB.H)必须是在安装SQL Server时使用自定义方式选择安装,否则程序无法通过.以下是相应的类图,如[图一]:


如图一所示,CDBSession和DBLibrary类都从DBErr继承而来,在DBErr类中处理所有的错误信息,CDBSession类主要实现连接服务器并设置数据库,DBLibrary类主要完成对数据库中表的操作,提供的方法请看源程序.(解包后有两个文件:physic_manager(DEMO).sql为创建演示库的脚本,修改相应数据库文件存放路径即可.PhManage.rar为源程序文件包,已在win2000server上调式通过,注:在使用之前,请安装SQL Server的客户端开发工具[使用自定义安装并选择"开发工具"下的"头和库"])

/***************************DBLibrary************************/
/* Version 1.0(测试版) */
/* 作者:张尧伟 */
/* 编写日期:2003-10-20 */
/* 第一个测试版完成日期:2003-12-01 */
/************************************************************/

功能简介:

1.支持SQL语言的查询、删除及更新操作

2.支持大容量数据的批量拷贝

3.支持MS DTC分布式事务处理

4.支持错误处理

优点:

1.比其他任何一种访问方式要快(如ODBC、OLE DB、ADO)

2.提供方便、简单、灵活的接口函数

3.使用更方便,可以提高软件的开发效率

缺点:

1.提供的方法尚不完善

2.对于存储过程的支持尚不完善

3.其它的未知错误可能存在

本文配套源码

时间: 2024-10-28 08:37:34

VC++中使用DB-Library编程(一)(SQL Server)的相关文章

.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)

原文:.NET编程和SQL Server --Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数等十分有限,经常需要外部的代码来执行一些繁重的移植: 2.与CLR集成可将原本需要独立的程序来实现的功能迁移到SQL Server 内部进行数据操作: 3.T-SQL数据查询语言在返回数据集方面很好,但是除此之外表现不佳.与CLR的集成可解决这一问题: 4..NET的操作代码和执行的速度比T-SQL

如何将云端SQL Azure中的数据库备份到本地SQL Server

SQL Azure提供一系列的数据复制和同步机制.例如,本地的SQL Server数据库可以被发布到SQL Azure上:SQL Azure的数据库也可以被打包下载到本地SQL Server服务器上:您还可以通过数据同步服务(Data Sync Service)备份数据库,以及进行动态数据同步. 数据层应用程序 数据层应用程序(Data-Tier Application, DAC)封装了一个应用程序所用的所有数据库和实例对象,例如表.索引.视图.存储过程乃至用户等. 通过这个逻辑上的封装,开发者

编程管理SQL SERVER的帐号

server|编程 每个人都关心数据安全.如果不关心的话,可能没有意识到访问服务器中的敏感数据是非常容易的.因为SQL SERVER在这方面已经替我们考虑过了,所以在我们开发应用程序就可以直接使用SQL SERVER的安全策略. 在SQL SERVER中,我们可以在ENTERPRISE MANAGER中创建一个登录帐号,并且赋予一定的权限,如果要做到我们的应用程序中呢? SQL SERVER提供了如下系统过程 一.SP_ADDLOGIN 添加登录帐号 SP_ADDLOGIN login_id[,

Delphi编程访问SQL Server数据库

delphi是一个优秀的可视化软件开发环境,并已广泛应用于数据库软件的开发.在DelphiC/S版环境中,结合其优化的数据库操作,以及Borland Database Engine(即:BDE,数据库引擎),对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径.在客户机/服务器系统中,服务器端我们采用Microsoft SQL Server6.0 for WindowsNT作为数据库服务器:另外,在客户端采用Delphi编写客户软件.在此,我们假定SQLServer设置完毕,并已经

在C#中运用SQLDMO备份和恢复SQL Server数据库

server|备份|恢复|数据|数据库     SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象.SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口,所以它可以执行很多功能,其中当然也包括对数据库的备份和恢复. SQLDMO由Microsoft SQL Server自带的SQLDMO.dll提供,由于SQLDMO.dll是一个COM对象(有关C

GridView中实现并列排名的例子 SQL Server版

SQL Server数据库版本 <%@ Page Language="C#" AutoEventWireup="true"%> <script runat="server"> public int TrapezoidIndex = 1; int LastNumer = 0; protected void Page_Load( object sender, EventArgs e ) { string ConnectionS

java中以windows集成方式连接SQL Server

今天有人问起,如何以windows集成方式连接SQL Server,这个以前真没试过. 于是,打开netBeans测试了一下,代码如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package testsqlconn; import java.sql.*; import com.microsoft.sqlserver.jdbc.*; /** *

mvc4中User.IsInRole默认会访问SQL Server Express的问题

问题描述 下面的代码在MVC3中验证运行是正常的,但在MVC4中,代码运行到此处会自动访问本地数据库,并且显示:连接字符串使用应用程序App_Data目录中的数据库位置指定了一个本地SQLServerExpress实例.我实际的数据库连接并不是这个,而是另外一个远程数据库.if(Roles.Any(httpContext.User.IsInRole)){returntrue;} 解决方案 解决方案二:webconfig里配置的是远程数据库连接吗?解决方案三:是的,我查遍了整个解决方案也没有SQL

Asp.net中把Excel数据存储至SQL Server中

  操作图   ExcelWrapper         /// <summary>         /// 查询EXCEL电子表格添加到DATASET         /// </summary>         /// <param name="filenameurl">文件路径</param>         /// <param name="table">dataset中的表名(并不是要和数据库中的

Asp.net中把Excel数据存储至SQL Server中的具体实现方法_实用技巧

ExcelWrapper 复制代码 代码如下:         /// <summary>        /// 查询EXCEL电子表格添加到DATASET        /// </summary>        /// <param name="filenameurl">文件路径</param>        /// <param name="table">dataset中的表名(并不是要和数据库中的表