如何连接服务器应用程序和客户端应用程序,Qt
How to connect Server application and Client Application , Qt
我有一个像这样连接到数据库的服务器应用程序:
Database::Database(QObject *parent) : QObject(parent)
{
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("main");
db.setUserName("postgres");
db.setPort(5432);
db.setPassword("zalfon19");
if(!db.open()){
auto problemDialog = new InfoDialog(InfoDialog::Warning, "Baza danych", "Aplikacja napotkała na problem z połączeniem z bazą danych", nullptr, true);
problemDialog->show();
qDebug()<<"There is a problem with database.";
return;
}
qDebug()<<"There is no problem with database.";
QSqlQuery query;
query.exec("truncate active_errors");
}
客户端应用未作必要修改说明我的情况:
Database::Database(QObject *parent) : QObject(parent)
{
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName(settings.dbpath.get());
db.setDatabaseName("main");
db.setUserName("postgres");
db.setPort(5432);
db.setPassword("zalfon19");
if(!db.open()){
auto problemDialog = new InfoDialog(InfoDialog::Warning, "Baza danych", "Aplikacja napotkała na problem z połączeniem z bazą danych", nullptr, true);
problemDialog->show();
qDebug()<<"There is a problem with database.";
}
qDebug()<<"There is no problem with database.";
}
我的根本问题是 Pgadmin 和 Qt 之间的输入数据不同。
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("main");
db.setUserName("postgres");
db.setPort(5432);
db.setPassword("password");
这一切应该都是一样的。
我有一个像这样连接到数据库的服务器应用程序:
Database::Database(QObject *parent) : QObject(parent)
{
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("main");
db.setUserName("postgres");
db.setPort(5432);
db.setPassword("zalfon19");
if(!db.open()){
auto problemDialog = new InfoDialog(InfoDialog::Warning, "Baza danych", "Aplikacja napotkała na problem z połączeniem z bazą danych", nullptr, true);
problemDialog->show();
qDebug()<<"There is a problem with database.";
return;
}
qDebug()<<"There is no problem with database.";
QSqlQuery query;
query.exec("truncate active_errors");
}
客户端应用未作必要修改说明我的情况:
Database::Database(QObject *parent) : QObject(parent)
{
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName(settings.dbpath.get());
db.setDatabaseName("main");
db.setUserName("postgres");
db.setPort(5432);
db.setPassword("zalfon19");
if(!db.open()){
auto problemDialog = new InfoDialog(InfoDialog::Warning, "Baza danych", "Aplikacja napotkała na problem z połączeniem z bazą danych", nullptr, true);
problemDialog->show();
qDebug()<<"There is a problem with database.";
}
qDebug()<<"There is no problem with database.";
}
我的根本问题是 Pgadmin 和 Qt 之间的输入数据不同。
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("main");
db.setUserName("postgres");
db.setPort(5432);
db.setPassword("password");
这一切应该都是一样的。