| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

C++操作mysql数据库范例代码

C++操作mysql数据库范例代码

#include <my_global.h>  #include <mysql.h>     void TestMySQL()  {      TRACE("MySQL client version: %s\n", mysql_get_client_info());         MYSQL *conn = mysql_init(NULL);      if (conn == NULL) {          TRACE("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));      }         if (mysql_real_connect(conn, "127.0.0.1", "user", "pass", "testdb", 0, NULL, 0) == NULL) {          TRACE("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));      }         mysql_query(conn, "set names utf8");         // SELECT      mysql_query(conn, "SELECT * FROM nihongo");      MYSQL_RES *result = mysql_store_result(conn);         int num_fields = mysql_num_fields(result);         CString str = _T("");      wchar_t bufUnicode[MAX_PATH];      char bufUTF8[MAX_PATH];         MYSQL_ROW row;      while ((row = mysql_fetch_row(result))) {          for (int i = 0; i < num_fields; i++) {              if (row[i] == NULL) {                  TRACE("NULL ");                  continue;              }                 int iLenUnicode = MultiByteToWideChar(CP_UTF8, 0, row[i], -1, NULL, 0);              if (iLenUnicode <= sizeof(bufUnicode)/sizeof(bufUnicode[0])) {                  MultiByteToWideChar(CP_UTF8, 0, row[i], -1, bufUnicode, MAX_PATH);                  str += bufUnicode;                  str += _T(", ");              }          }             TRACE("\n");      }         mysql_free_result(result);         // INSERT      CTime now = CTime::GetCurrentTime();      CString s_now = now.Format(_T("%Y-%m-%d %H:%M:%S"));      CString insert = _T("INSERT INTO nihongo VALUES('本日は") + s_now + _T("です')");      wchar_t *p = insert.GetBuffer();         int iLenUtf8 = WideCharToMultiByte(CP_UTF8, 0, p, -1, NULL, 0, NULL, NULL);      if (iLenUtf8 <= sizeof(bufUTF8)) {          WideCharToMultiByte(CP_UTF8, 0, p, -1, bufUTF8, sizeof(bufUTF8), NULL, NULL);          mysql_query(conn, bufUTF8);      }         insert.ReleaseBuffer();         mysql_close(conn);         AfxMessageBox(str);  }