我最近一直在為一個簡單的登錄窗口編寫程序,作為我一直在從事的項目的一部分。我有一個結構如下的 SQL 數據庫:
User:
__________________________________________
| id | name | username | password | status |
| ___+______+__________+__________+________|
| 1 | niko | ******** | ******** | admin |
| 2 | andy | ******** | ******** | user |
------------------------------------------
還有一些這樣的專欄。我在 QTcreator 中用 C++ 準備了一個 sql 查詢,如下所示:
qry.prepare("SELECT name FROM Database.User WHERE username = :username AND password = :password")
理想情況下,應該為給定的密碼和用戶名獲取 niko 或 andy 或任何其他名稱。唯一的問題是我不知道如何使用它。我已經多次閱讀 QT 文檔,但沒有找到任何以字符串形式獲取名稱的方法。我嘗試使用以下方法打印它:
qDebug<<qry.result()
但是只返回“0x5561eb32d240”我不確定這是什麼?Qt 沒有記錄 result() 並且我唯一知道的關於結果的返回是它是一個 const QSql 類型。
關於如何將名稱作為字符串返回以供以後使用的任何想法?
這是 qsqlite 的例子。它必須是工作。
QSqlDatabase data_base;
data_base = QSqlDatabase::addDatabase("QSQLITE", id);
data_base.setDatabaseName(data_base_path);
if (data_base.open())
{
QString query = "SELECT name FROM Database.User WHERE username = :username AND password = :password";
QSqlQuery SqlQuery = QSqlQuery( data_base );
SqlQuery.exec( query );
while (SqlQuery.next())
{
int field_idx = SqlQuery.record().indexOf("name");
QString name = SqlQuery.record().value( field_idx ).toString();
qDebug() << name;
};
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句