Как работать с MySQL в C++

93
06 июля 2021, 13:00

никак не могу понять как работать с запросами MySQL в С++. Я пытаюсь написать консольную программку которая будет записывать данные о клиентах и записывать их в БД. Код на С++ чтобы записывал данные о клиенте я сделал, саму БД я создал и подключил с помощью "connect to database..."?, а дальше как вообще обращаться и какие кнопки нажимать никак понять не могу. Гуглежка привела к тому, что там подключается к БД в ручную написанием кода, но это я не совсем понимаю, пока что. Так вот вопрос заключается в следующем: Какую команду использовать, чтобы я мог вводить запросы MySQL.

#include "pch.h"
#include <iostream>
#include "string"
using namespace std;

int main()
{
    setlocale(LC_ALL, "Russian");
    string fullName;
    int ID_abon;
    cout << "Введите имя клиента: ";
    getline(cin, fullName);
    cout << "Введите ID абонемента: ";
    cin >> ID_abon;
}
Answer 1

По всей видимости вы действием "connect to database..." подключили к БД свою среду разработки. Это никак не влияет на сам код, который действительно нужно дописать для работы с БД.

Простой пример можно найти в документации к MySQL

/* Standard C++ includes */
#include <stdlib.h>
#include <iostream>
/*
  Include directly the different
  headers from cppconn/ and mysql_driver.h + mysql_util.h
  (and mysql_connection.h). This will reduce your build time!
*/
#include "mysql_connection.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
using namespace std;
int main(void)
{
  cout << endl;
  cout << "Running 'SELECT 'Hello World!' »
    AS _message'..." << endl;
  try 
  {
    sql::Driver *driver;
    sql::Connection *con;
    sql::Statement *stmt;
    sql::ResultSet *res;
    /* Create a connection */
    driver = get_driver_instance();
    con = driver->connect("tcp://127.0.0.1:3306", "root", "root");
    /* Connect to the MySQL test database */
    con->setSchema("test");
    stmt = con->createStatement();
    res = stmt->executeQuery("SELECT 'Hello World!' AS _message");
    while (res->next()) 
    {
      cout << "\t... MySQL replies: ";
      /* Access column data by alias or column name */
      cout << res->getString("_message") << endl;
      cout << "\t... MySQL says it again: ";
      /* Access column data by numeric offset, 1 is the first column */
      cout << res->getString(1) << endl;
    }
    delete res;
    delete stmt;
    delete con;
  } 
  catch (sql::SQLException &e) 
  {
    cout << "# ERR: SQLException in " << __FILE__;
    cout << "(" << __FUNCTION__ << ") on line " »
      << __LINE__ << endl;
    cout << "# ERR: " << e.what();
    cout << " (MySQL error code: " << e.getErrorCode();
    cout << ", SQLState: " << e.getSQLState() << " )" << endl;
  }
  cout << endl;
  return EXIT_SUCCESS;
}
READ ALSO
Не отправляется письмо о заказе клиенту Opencart

Не отправляется письмо о заказе клиенту Opencart

В общем, недавно перестали отправляться письма на почту к клиенту об оформлении заказаПисьмо на почту администратора о том же заказе приходит

77
wordpress, не подключает скрипт JS

wordpress, не подключает скрипт JS

У меня есть данный код

92
Функция wp_add_inline_style без type=&#39;text/css&#39;

Функция wp_add_inline_style без type='text/css'

Функция wp_add_inline_style выводит блок CSS стилей с атрибутом type='text/css', возможно ли как-то в WP вывести стили без type='text/css'?

87
Как лучше шифровать ключи с последующей расшифрацией в базе

Как лучше шифровать ключи с последующей расшифрацией в базе

такой вопрос возникЕсть у меня таблица с api_key ключами от разных сервисов, я хочу их шифровать в базе, но когда достаю из базы мне нужно их расшифровывать

97