Qt を使用して C++ プログラムを作成しました。アルゴリズム内のいくつかの変数が、プログラムの外部と Web ページで変更されています。ユーザーが Web ページの変数値を変更するたびに、作成済みの SQL データベースを変更します。ここで、コードを停止することなく、実行時にコードで変数の値を変更する必要があります。2 つのオプションがあります。
n 秒ごとにデータベースをチェックし、変数を取得します
value
-> n 秒ごとにデータベースの内容が変更されているかどうかを確認する必要があるため、これは良くありません (何年も変更されていない可能性があります。また、データベースが内容が変わります)データベースが変更されるたびに、私の Qt プログラムはシグナルを発するので、このシグナルをキャッチすることで変数の値を更新できます。これは最適な解決策のようで、この部分のコードを書きたいと思います。
私のコードのC++部分は次のとおりです。
void Update Database()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("Mydataset");
db.setUserName("user");
db.setPassword("pass");
if(!db.open())
{
qDebug()<<"Error is: "<<db.lastError();
qFatal("Failed To Connect");
}
QSqlQuery qry;
qry.exec("SELECT * from tblsystemoptions");
QSqlRecord rec = qry.record();
int cols = rec.count();
qry.next();
MCH = qry.value(0).toString(); //some global variables used in other functions
MCh = qry.value(1).toString();
// ... this goes on ...
}