在C 中的ODBC API数据库编程

2008-02-23 05:33:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一、动态加载数据源
1、通过修改注册表加载数据源:
·用户数据源:HKEY_CURRENT_USERSOFTWAREODBCODBC.INI
·系统数据源:HKEY_LOCAL_MACHINESOFTWAREODBCODBC.INI
对于不同类型的数据源,注册表的修改也不同,但基本上要修改两个地方,一个是在ODBC.INI子键下建立一个和数据源描述名同名的子键,并在该子键下建立和数据源配置相关的项;另一个是在\ODBC.INIODBC Data Sources子键下建立一个新项以便告诉驱动程式管理器ODBC数据源的类型。
2、通过ODBC API加载:Windows系统子目录下的动态链接库Odbcinst.dll提供了一个能够动态增加、修改和删除数据源的函数SQLConfigDataSource,由于VC的默认库文档中不包含此函数,因此使用前需将Odbcinst.h文档包含在工程的头文档中,在工程的setting属性框Link页的Object/library module编辑框中增加Odbc32.lib,同时确保系统目录system32下有文档Odbccp32.dll
3、文档数据源的连接:除了ODBC管理器,还能够通过SQLDriverConnect来添加文档数据源。
二、ODBC API编程
假如一个ODBC API函数执行成功,则返回SQL_SUCCESSSQL_SUCCESS_WITH_INFOSQL_SUCCESS指示可通过诊断记录获取有关操作的周详信息,SQL_SUCCESS_WITH_INFO指示应用程式执行结果带有警告信息,可通过诊断记录获取周详信息。假如函数调用失败,返回码为SQL_ERROR
一般,编写ODBC程式主要有一下几个步骤:
1、 分配环境句柄:声明一个SQLHENV的变量,调用函数SQLAllocHandle
配置环境属性:完成环境分配后,用函数SQLSetEnvAttr配置环境属性,注册ODBC版本号。
释放环境句柄:完成数据访问任务时,应调用SQLFreeHandle释放前面分配的环境。
2、 分配连接句柄:声明一个SQLHDBC类型的变量,调用SQLAllocHandle函数分配句柄。
配置连接属性:任何连接属性都可通过函数SQLSetConnectAttr配置,调用函数SQLGetConnectAttr可获取这些连接属性的当前配置值。
3、 连接数据源:对于不同的程式和用户接口,能够用不同的函数建立连接
SQLConnect:该函数只要提供数据源名称、用户ID和口令,就能够进行连接了。
SQLDriverConnect:该函数用一个连接字符串建立至数据源的连接,他能够让用户输入必要的连接信息,使用系统中还没定义的数据源。
SQLBrowseConnect:该函数支持以一种迭代的方式获取到数据源的连接,直到最后建立连接,他基于客户机/服务器体系结构,因此本地数据库不支持该函数。
4、 准备并执行SQL语句
A、 分配语句句柄:语句句柄是通过调用SQLAllocHandle函数分配的。
函数SQLGetStmrrAttrSQLSetStmrrAttr用来获取和配置一个语句句柄的选项,使用完,调用SQLFreeHandle释放该句柄。
B、 执行SQL语句
SQLExecDirect:该函数直接执行SQL语句,对于只执行一次的SQL语句来说,该函数是执行最快的方法。
SQLPrepareSQLExecute:对于需要多次执行的SQL语句来说,可先调用SQLPrepare准备SQL语句的执行,用SQLExecute执行准备好的语句。
C、 使用参数:使用参数能够使一条SQL语句多次执行,得到不同的结果。
函数SQLBindParameter负责为参数定义变量,将一段SQL语句中的一个参数标识符("?")捆绑在一起,实现参数值的传递。
5 获取记录集
A 绑定列:首先必须分配和记录集中字段相对应的变量,然后通过函数SQLBindCol将记录字段同程式变量绑定在一起,对于长记录字段,能够通过调用函数SQLGetData直接取回数据。
绑定字段能够根据自己的需要全部绑定,也能够绑定其中的某几个字段。
通过调用函数SQLBindCol将变量地址值赋为NULL,能够结束对一个记录字段的绑定,通过调用函数SQLFreeStmt,将其中选项设为




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: VC ODBC使用总结

下一篇: Visual C ADO数据库编程入门(下)

热门词条
热门标签