编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

vc连接数据库

vc连接数据库

请问vc应该如何连接数据库
连接之后又如何把数据库里的数据存入自己定义的变量里
是用控件还是ADO编程,还是ODBC什么的
哪个比较好用
有没有这方面的资料示例啊
我用的是vc2005

TOP

参考!

ado和odbc两种方式都可以连接数据库,其实,基本上都有固定的模式代码。
odbc又分为mfc odbc 和odbc api ,可以根据自己实际情况,选取不同方式连接数据库。
下面我说一下:
odbc api基本步骤:
1.为odbc分配环境句柄
2.分配一个连接句柄
3.连接数据库
4.用SQL分配一个语句句柄
5.执行该命令返回结果集
6.断开数据源的连接
7.释放odbc资源
下面是参考代码:
//连接oracle数据库
复制内容到剪贴板
代码:
SQLHENV  henv=SQL_NULL_HENV;//环境变量
SQLHDBC  hdbc=SQL_NULL_HDBC;//连接句柄
SQLHSTMT hstmt=SQL_NULL_HSTMT;
SQLHSTMT dfhstmt=SQL_NULL_HSTMT;

//********************* 第一步:为ODBC分配环境变量****************
    if(SQLAllocHandle(SQL_HANDLE_ENV,NULL,&henv)!=SQL_SUCCESS)
    {
        //return FALSE;
        AfxMessageBox("henv");
            
    }
    //********************* 第二步:设置*******************
    if (SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER)!=SQL_SUCCESS)
    {
        //return FALSE;
        AfxMessageBox("set henv");
    }
    //********************* 第三步:分配一个连接句柄
    if (SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc)!=SQL_SUCCESS)
    {
        //return FALSE;    
        AfxMessageBox("hdbc");
    }
    //********************连接oracle--------------------------
         SQLFreeHandle(SQL_HANDLE_STMT,dfhstmt);
    //释放相关资源
    SQLFreeHandle(SQL_HANDLE_STMT,hstmt);   
    SQLDisconnect(hdbc);   
    SQLFreeHandle(SQL_HANDLE_DBC,hdbc);   
    SQLFreeHandle(SQL_HANDLE_ENV,henv);

TOP

非常感谢
很详细

TOP

发新话题