基于对话框的MFC应用程序如何连接ODBC 数据库 SQLConfigDataSource设置odbc数据源 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里有个示例http://www.rupeng.com/forum/thread-1403-1-3.htmlvoid DBTest(HWND hwnd){ SQLHENV henv = NULL; SQLHDBC hdbc = NULL; SQLHSTMT hstmt = NULL; SQLRETURN result; SQLCHAR ConnStrIn[MAXBUFLEN] = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=root;DATABASE=test;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); //SQL_NTS telling the function the previous parameter is Null-Terminated String,//please alculate the string length for me result = SQLPrepare(hstmt,(SQLCHAR*)"insert into T_Person(FAge,FName) values(20,'kider')",SQL_NTS);CHECKDBSTMTERROR(hwnd,result,hstmt); result =SQLExecute(hstmt); CHECKDBSTMTERROR(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);} 用ADO方便些,ADO本身是一个OLE DB Consumer,OLE DB在两个方面对ODBC进行了扩展。 this指针问题,想了半天转不过来 如何拦截发送给Progman窗口的消息(急) 问题个COM接口的问题 兼容dc显示透明bmp的问题 基于MFC的对话框工程,使用API串口编程问题 关于OPC的问题!!急啊 高手请教speech 有没有时时察看内存使用情况的工具?要能显示出每个进程时时占用到的内存大小,有吗? ***高分“300”悬赏***软件规范文档(各位有项目经验的请进)up有分! VS2017 Cserial 类操作串口, 有些串口可以打开但是不能发数据 WaitForMultipleObjects导致进程直接异常退出 一个软件,检测U盘,并且显示一些界面进行操作
{
SQLHENV henv = NULL;
SQLHDBC hdbc = NULL;
SQLHSTMT hstmt = NULL;
SQLRETURN result;
SQLCHAR ConnStrIn[MAXBUFLEN] = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=root;DATABASE=test;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);
//SQL_NTS telling the function the previous parameter is Null-Terminated String,
//please alculate the string length for me
result = SQLPrepare(hstmt,(SQLCHAR*)"insert into T_Person(FAge,FName) values(20,'kider')",SQL_NTS);
CHECKDBSTMTERROR(hwnd,result,hstmt);
result =SQLExecute(hstmt);
CHECKDBSTMTERROR(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);
}