Возможно ли подключиться программой на qt к Mysql базе на другом сервере?

413
09 августа 2017, 18:48

Возможно ли подключиться программой на qt к Mysql базе на другом сервере и изменять эту бд?

Answer 1

IP-адрес сервера БД устанавливается с помощью метода

void QSqlDatabase::setHostName(const QString& hostName);

и совершенно не важно будет это локальный хост или удалённый.

Изучайте документацию.

Простейший пример использования средств Qt для работы с БД:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("your.remote.db.host");
db.setDatabaseName("your_db_name");
db.setUserName("your_username");
db.setPassword("your_password");
if (db.open())
{
    QSqlQuery query(db);
    if (query.exec("SELECT * FROM your_table;"))
    {
        while (query.next())
        {
            QSqlRecord row = query.record();
            for (int i = 0; i < row.count(); ++i)
            {
                qDebug() << QString("%1 = %2")
                            .arg(row.fieldName(i))
                            .arg(row.value(i).toString());
            }
        }
    }
}

Точно так же можно выполнять запросы INSERT/UPDATE/DELETE. Главное чтобы сервер БД был доступен, а вашему пользователю хватало бы прав на изменение БД.

Answer 2

Да. Лично такое проворачивал, все работало.

QSqlDatabase вам понадобится в первую очередь.

READ ALSO
Как считать написанный текст через exec

Как считать написанный текст через exec

Добрый вечер! Через Runtimeexec вызывается определенная Linux-программа, которая динамически отображает результат вот в таком виде (числа меняются...

276
IntelliJ IDEA показывает &ldquo;характер&rdquo;

IntelliJ IDEA показывает “характер”

Как-то пришлось перезагрузить зависший компВ итоге IntelliJ самостоятельно поменяла тему оформления и начала сыпать ошибками

301