VC++ WIN32程序利用ODBC连接MySQL数据库
来源:互联网 发布:淘宝网上购物付款方式 编辑:程序博客网 时间:2024/06/05 02:00
VC++ WIN32程序利用ODBC连接MySQL进行数据库操作
前步骤:在数据源(ODBC)进行数据源配置添加,需要有mysql-connector-odbc驱动(百度搜索下载相应位数版本)。
进行数据库开发需要:
#include <sql.h> #include <sqlext.h>#include <sqltypes.h>
添加链接库:
odbc32.lib odbccp32.lib
宏定义:
#define LOGIN_TIMEOUT 30#define MAXBUFLEN 255#define CHECKDBSTMTERR0R(hwnd, result, hstmt) if(SQL_ERROR==result){ShowDBStmtError(hwnd,hstmt);return;}
数据库连接错误代码:
void ShowDBError(HWND hwnd,SQLSMALLINT type,SQLHANDLE sqlHandle){ char pStatus[10], pMsg[101]; SQLSMALLINT SQLmsglen; char error[200] = {0}; SQLINTEGER SQLerr; long erg2 = SQLGetDiagRec(type, sqlHandle, 1, (SQLCHAR *)pStatus,&SQLerr,(SQLCHAR *)pMsg,100,&SQLmsglen); wsprintf(error,"%s (%d)\n",pMsg,(int)SQLerr); MessageBox(hwnd, error, TEXT("数据库执行错误"),MB_OK|MB_ICONERROR);}void ShowDBConnError(HWND hwnd,SQLHDBC hdbc){ ShowDBError(hwnd, SQL_HANDLE_DBC, hdbc);}void ShowDBStmtError(HWND hwnd,SQLHSTMT hstmt){ ShowDBError(hwnd, SQL_HANDLE_STMT,hstmt);}
连接操作数据库:
void DBTest(HWND hwnd){ SQLHENV henv = NULL; SQLHDBC hdbc = NULL; SQLHSTMT hstmt = NULL; SQLRETURN result; SQLCHAR ConnStrIn[MAXBUFLEN]="DRIVER={MySQL ODBC 5.3 Driver};SERVER=127.0.0.1;UID=root;PWD=root;DATABASE=contacts;CharSet=gbk;";//数据库连接字符串,根据自己的实际情况填 SQLCHAR ConnStrOut[MAXBUFLEN]; //分配环境句柄 result = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); //设置管理环境属性 result = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0); //分配连接句柄 result = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); //设置连接属性 result = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void *)LOGIN_TIMEOUT, 0); //连接数据库 result = SQLDriverConnect(hdbc, NULL, ConnStrIn, SQL_NTS, ConnStrOut, MAXBUFLEN, (SQLSMALLINT *)0, SQL_DRIVER_NOPROMPT); if (SQL_ERROR == result) { ShowDBConnError(hwnd, hdbc); return; } //初始化语句句柄 result = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); result = SQLPrepare(hstmt, (SQLCHAR *)"insert into contact(NAME,address) valuse('哈哈', '重庆')",SQL_NTS);//创建SQL操作语句 CHECKDBSTMTERR0R(hwnd, result, hstmt); result = SQLExecute(hstmt);//执行SQL语句 CHECKDBSTMTERR0R(hwnd, result, hstmt); SQLFreeStmt(hstmt, SQL_CLOSE); SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv); MessageBox(hwnd, TEXT("执行成功"),TEXT("标题"),MB_OK);}
0 0
- VC++ WIN32程序利用ODBC连接MySQL数据库
- VC++6.0中用ODBC连接mysql数据库
- VC++6.0中用ODBC连接mysql数据库
- VC++6.0中用ODBC连接mysql数据库
- [MySQL]VC++通过Pipe连接数据库(ODBC)
- 利用ODBC连接数据库
- ODBC连接Access数据库图文全解之利用VC
- vc 使用odbc连接mysql数据库分页查询
- Java利用ODBC 连接数据库
- MFC ODBC连接mysql数据库
- MFC ODBC连接mysql数据库
- java ODBC连接MYSQL数据库
- vc中利用ODBC链接SqlServer数据库
- VC之ODBC连接ACCESS数据库
- vc++使用odbc api连接数据库
- VC与MYSQL连接通过ODBC
- VC中,使用ODBC 驱动连接Mysql
- MySQL在Windows上的安装及VC通过ODBC连接MySQL数据库
- 如何在php中正确的使用json
- Watcher详解、接口
- Effective C++ 读书笔记——尽量以const,enum,inline替换 #define
- 原文链接:Android Partitions Explained: boot, system, recovery, data, cache & misc
- 开源代码网站
- VC++ WIN32程序利用ODBC连接MySQL数据库
- ArcEngine二次开发API之Bug集(一 )
- DP——Two ( HDU 5791 ) ( 2016 Multi-University Training Contest 5 1011 )
- 剑指offer 面试题9:斐波那契数列
- Animate.css让添加CSS动画像喝水一样容易
- 锁麟囊
- lvs、haproxy、nginx 负载均衡的比较分析
- python获取操作系统信息
- "libxml/parser.h: 没有那个文件或目录"解决方案