|
AppBuilder中进行直接ODBC API数据库调用访问的基本方法!(1)
作者:张修勇 AppBuilder的网址:http://www.UCancode.com
第一章:如何为你的开发系统配置DSN:
(一)、打开Windows的控制面板。选择ODBC Data Sources图标,双击打开此图标内容,此时出现ODBC Data Source Administrator对话框。
(2)、在对话框中选择User DSN然后你可以选择<添加>按钮来新增一个DSN.
第二章:如何利用ODBC API在VC下面直接编写基于数据库的程序:
ODBC数据库编程 一、 一般步骤:
分配环境
应用系统在调用任何ODBC函数之前,首先必须初始化ODBC,并建立一个环境。 ODBC用该环境监视应用系统已经建立的数据库连接。每个应用系统只建立一个 环境是很有必要的,因为不管有多少连接都可以在一个环境中建立。完成这一分 配过程的ODBC函数SQLAllocEnv在下一小节描述。
SQLAllocEnv SQLAllocEnv为环境句柄分配内存,并初始化应用系统使用的ODBC调用层接口。 应用系统在调用任何其他ODBC函数之前必须调用SQLAllocEnv。 以下是SQLAllocEnv的语法: RETCODE SQLAllocEnv(phenv) SQLAllocEnv的参数如下表所示,其返回码是SQL-ERROR。因为调用SQLError 时无有效句柄,所以该函数没有SQLSTATE返回码; //分配环境句柄 SQLRETURN m_retcode; if( m_henv != SQL_NULL_HENV ) return FALSE; if (SQL_SUCCESS == (m_retcode = SQLAllocEnv( &m_henv ))) { //创建新的DSN CreateDSN(IDS_HOME_DSNNAME,IDS_HOME_DBFILENAME); //分配连接句柄 if (SQL_SUCCESS == (m_retcode = SQLAllocConnect( m_henv, &m_hdbc ))) { // 连接数据源 if (SQL_SUCCESS == (m_retcode = SQLConnect( m_hdbc, (UCHAR *)((LPCTSTR)m_strDSN), SQL_NTS, NULL, 0, NULL, 0 ))) { m_bConnected = TRUE; } } } 分配连接句柄
就象应用系统的环境由环境句柄代表一样,连接句柄代表应用系统与数据源 之间的连接。对于应用系统所要连接的每一个数据源而言,都必须分配一个连接 句柄。例如,如果需要同时与dBase和BTrieve的数据源连接,必须分配两个连接 句柄。下一小节描述函数SQLAllocConnect.
SQLAllocConnect在henv标识的环境里为连接句柄分配内存。以下是 SQLAllocConnect的语法: RETCODE SQLAllocConnect(henv,phdbc) SQLAllocConnect 的参数如下表所示,其返回码是: SQL-SUCCESS SQL-SUCCESS-WITH-INFO SQL-ERROR SQL-INVALID-HANDLE SQLSTATE的返回码是: 01000 S1000 S1001 S1009 利用核心函数与数据源连接
尽管有很多ODBC函数可以建立连接,但在核心API层却只有一种,即函数 SQLConnect。它提供简单、有效的方法与数据源的连接。所有驱动程序都支持 SQLConnect,所以它是最具有互用性的解决方案。下面是SQLConnect的描述。
SQLConnect加载一个数据库驱动程序,并建立一个与数据源的连接。该连接 句柄确定所有连接信息(包括它的状态,事务状态和错误信息)的存储位置。
SQLConnect的语法如下: RETCODE SQLConnect(hdbc,szDSN,cbDSN,szUID,cbUID,szAuthStr,cbAuthAtr)
|