Advertisement
MUstar

IoT C++ 10/18 - MySQL Test

Oct 17th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<string>
  4. #include<my_global.h>
  5. #include<winsock2.h>
  6. #include<mysql.h>
  7. #include<conio.h>
  8. #define snprintf _snprintf
  9. using namespace std;
  10. #pragma comment(lib, "libmysql.lib")
  11.  
  12. #define DB_HOST "[Server URL or IP Address]"
  13. #define DB_USER "[DB UserName]"
  14. #define DB_PASS "[Password]"
  15. #define DB_NAME "[DB Name]"
  16. #define DB_TABLE "select * from [Tabel name]"
  17.  
  18. int main(void)
  19. {
  20.     MYSQL *connection = NULL, conn;
  21.     MYSQL_RES   *sql_result;
  22.     MYSQL_ROW   sql_row;
  23.     int query_stat;
  24.     int select;
  25.  
  26.     mysql_init(&conn);
  27.     connection = mysql_real_connect(&conn, DB_HOST, DB_USER, DB_PASS, DB_NAME, 3306, (char *)NULL, 0);
  28.     mysql_set_character_set(&conn, "euckr");
  29.  
  30.     cout << "MySQL Server Version : " << mysql_get_server_info(&conn) << endl;
  31.     cout << "MySQL Client Version : " << mysql_get_client_info() << endl << endl;
  32.    
  33.     if (connection == NULL)
  34.     {
  35.         cout << stderr << "MySQL Connection Error : " << mysql_error(&conn)<<endl;
  36.         return 1;
  37.     }
  38.  
  39.     while (1)
  40.     {
  41.         query_stat = mysql_query(connection, DB_TABLE);
  42.         if (query_stat != 0)
  43.         {
  44.             cout << stderr << "MySQL Connection Error : " << mysql_error(&conn)<<endl;
  45.             return 1;
  46.         }
  47.         sql_result = mysql_store_result(connection);
  48.  
  49.         cout << "==============MySQL 입출력 테스트 프로그램==============" << endl;
  50.         cout << "MENU>1)리스트출력 | 2)리스트추가 | 3)리스트삭제 | 4)종료" << endl;
  51.  
  52.         cout << "INPUT>";  cin >> select;
  53.         if (select == 4) break;
  54.         if (cin.fail())
  55.         {
  56.             cout << "ERROR>잘못된 선택" << endl << endl;
  57.             //cout<<"Error>PLZ ENTER NUM! NOT CHAR!"<<endl;
  58.             cin.clear(); cin.ignore(256, '\n');
  59.         }
  60.         switch (select)
  61.         {
  62.         case 1:
  63.             cout << "이름/주소/전화번호" << endl;
  64.             while ((sql_row = mysql_fetch_row(sql_result)) != NULL)
  65.             {
  66.                 cout << sql_row[0] << "|" << sql_row[1] << "|" << sql_row[2] << endl;
  67.             }
  68.             mysql_free_result(sql_result); break;
  69.         case 2: {
  70.             string name;
  71.             string address;
  72.             string tel;
  73.             char query[255];
  74.             cin.ignore();
  75.             cout << "이름:";  getline(cin, name);
  76.             cout << "주소:";  getline(cin, address);
  77.             cout << "전화:";  getline(cin, tel);
  78.  
  79.             sprintf_s(query, "insert into test33 values " "('%s', '%s', '%s')", name.c_str(), address.c_str(), tel.c_str());
  80.             query_stat = mysql_query(connection, query);
  81.             if (query_stat != 0) {
  82.                 cout << stderr << "MySQL Connection Error : " << mysql_error(&conn) << endl;
  83.                 return 1;
  84.             }break;
  85.             //sql_result = mysql_store_result(connection); break;
  86.         }
  87.         case 3: cout << "ERROR>미구현" << endl; break;
  88.         default: cout << "ERROR>잘못된 선택" << endl; break;
  89.         }
  90.         cout << endl;
  91.     }
  92.     cout << "프로그램 종료" << endl;
  93.     mysql_close(connection);
  94.  
  95.     cout << "계속하실려면 아무키나 누르세요." << endl;
  96.     _getch();
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement