ODBC example

来源:互联网 发布:三了个七 淘宝买家秀 编辑:程序博客网 时间:2024/05/22 06:25

1 .  初始化ODBC

     在这个过程中,应用程序将通过调用SQLAlloEnv函数初始化ODBC接口,获取ODBC环境句柄。ODBC环境句柄是其它所有ODBC资源句柄的父句柄,因此无论程序将建立多少个ODBC连接,这个过程只需执行一次即可。例如:

rc=SQLAllocEnv(henv)获取ODBC环境句柄

DimrcAsIntegerODBC函数的返回码
DimhenvAsLongODBC环境句柄


二、与ODBC数据源建立连接

      这个过程由下列两个步骤组成:

     1、调用SQLAllocConnect函数获取连接句柄。例如:

           DimhdbcAsLong连接句柄
           rc=SQLAllocConnect(henv,hdbc)获取连接句柄

      2、建立连接。这个步骤可以通过多种方法实现,最简单直观的方法是调用SQLConnect函数。例如:

           DimDSNAsString,UIDAsString,PWDAsString
           DSN="DataSourceName"ODBC数据源名称
           UID="UserID"用户帐号

           PWD="Password"用户口令


           rc=SQLConnect(hdbc,DSN,Len(DSN),UID,Len(UID),PWD,Len(PWD))建立连接


    三、存取数据

      用户对ODBC数据源的存取操作,都是通过SQL语句实现的。在这个过程中,应用程序将通过连接向ODBC数据库提交SQL语句,以完成用户请求的操作。具体步骤如下:

     1、调用SQLAllocStmt函数获取语句句柄。例如:


          rc=SQLAllocStmt(hdbc,hstmt)

   2、执行SQL语句。执行SQL语句的方法比较多,最简单明了的方法是调用SQLAllocStmt函数,例如:

         SQLstmt="SELECT*FROMauthors"

          rc=SQLExecDirect(hstmt,SQLstmt,Len(SQLstmt))

      四、检索结果集

        如果SQL语句被顺利提交并正确执行,那么就会产生一个结果集。检索结果集的方法有很多,最简单最直接的方法是调用SQLFetch和SQLGetData函数。SQLFetch函数的功能是将结果集的当前记录指针移至下一个记录,SQLGetData函数的功能是提取结果集中当前记录的某个字段值。通常可以采用一个循环以提取结果集中所有记录的所有字段值,该循环重复执行SQLFetch和SQLGetData函数,直至SQLFetch函数返回SQL_NO_DATA_FOUND,这表示已经到达结果集的末尾。

        SQLFetch(hstmt)

        whil (1)

     {

                rc=SQLGetData(hstmt,i,SQL_C_CHAR,ColVal,Len(ColVal),SQL_NULL_DATA);


                 SQLFetch(hstmt);

    }



    五、结束应用程序

        在应用程序完成数据库操作,退出运行之前,必须释放程序中使用的系统资源。这些系统资源包括:语句句柄、连接句柄和ODBC环境句柄。完成这个过程的步骤如下:

        1、调用SQLFreeStmt函数释放语句句柄及其相关的系统资源。例如:

               rc=SQLFreeStmt(hstmt,SQL_DROP)

       2、调用SQLDisconnect函数关闭连接。例如:

               rc=SQLDisconnect(hdbc)

       3、调用SQLFreeConnect函数释放连接句柄及其相关的系统资源。例如:

             rc=SQLFreeConnect(hdbc)

      4、调用SQLFreeEnv函数释放环境句柄及其相关的系统资源,停止ODBC操作。例如:

             rc=SQLFreeEnv(henv)

          此外,在编制程序时还有一个需要重点考虑的问题,这就是错误处理。所有ODBCAPI函数,若在执行期间发生错误,都将返回一个标准错误代码SQL_ERROR。一般来讲,在每次调用ODBCAPI函数之后,都应该检查该函数返回值,确定该函数是否成功地执行,再决定是否继续后续过程。而详细的错误信息,可以调用SQLError函数获得。SQLError函数将返回下列信息:

     
原创粉丝点击