VC读写Mysql的问题 VC怎么读写mysql里的数据啊,有没有比较简单明了的例子。另,我想多个客户访问并更新一个服务器数据,怎样写才能保证相互之间数据不冲突且实时更新啊?客户端↔服务器端↔数据库?每个客户端能同时增减数据库么?(虽然这样不安全)请大家给点意见和建议 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一份Win32的示例代码,MFC同理去掉hwnd即可。#include <sql.h>#include <sqlext.h>#include <sqltypes.h>#include "resource.h"#include "MainDlg.h"#define LOGIN_TIMEOUT 30#define MAXBUFLEN 255#define CHECKDBSTMTERROR(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_ICONERROR|MB_OK);}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.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);} 忘了说了需要MySQL ODBC 5.1 Driver,至于你所说的,可以去参考下并发,就很好理解了 1.调用MySQL的API2.ODBC其他的看看并发操作吧。 Visual C++ 6.0出现下面的错误信息: 明天面试。散分求祝福 char和TCHAR的问题 关于VC++网络编程学习书的问题,各位老大进来看看! 我该不该用线程池技术? 巨大图像文件处理的困惑 请问哪里有网络数据加密传输的实例,写出下载地址就有分,谢谢 那位兄弟有windows消息机制方面的详细资料? VC中IE控件的问题,如何得到不固定的超链接的内容? 关于用VC编译DLL过程中的错误问题! 问一个简单的问题哦,链表的 各位大哥帮忙逐行解释下以下的数据库代码是什么意思? 多谢了!!
2.ODBC其他的看看并发操作吧。