QtからのパスワードアクセスでデータベースをSqliteする方法は?

ゾロアラム

sqlitestudio SQLSicpherを介してパスワードsqliteデータベースファイルを作成しました。qtからデータベースにアクセスするにはどうすればよいですか?、試しました

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(dbLocation);
db.setPassword("thPassworde");

ただし、データベースを開くことはできません。

eyllanesc

Qtは公式にはSQLCipherをサポートしていませんがQtCipherSqlitePluginの間にドライバーを作成するプロジェクトがいくつかあります。それをインストールするには、次のコマンドを使用します。

git clone [email protected]:devbean/QtCipherSqlitePlugin.git
qmake
make
sudo make install

注: Windowsを使用している場合は、を使用する必要がありますjomnmakeまたは使用mingw32-makeしている構成によって異なります。

このライブラリは、main.cppが次のようなサンプルプロジェクトを提供します。

#include <QtSql>
#include <QCoreApplication>

#ifdef Q_OS_IOS
#  include <QtPlugin>

Q_IMPORT_PLUGIN(SqliteCipherDriverPlugin)
#endif

#define CONNECTION_FAILED -1

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    Q_UNUSED(app);

    qDebug() << QSqlDatabase::drivers();
    QString dir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
//    QString DB_FILE_PATH = dir + "/test_chacha20.db";
    QString DB_FILE_PATH = dir + "/test_sqlcipher.db";
    qDebug() << "DB File Path is:" << DB_FILE_PATH;

    QSqlDatabase dbconn = QSqlDatabase::addDatabase("SQLITECIPHER");
    dbconn.setDatabaseName(DB_FILE_PATH);
    dbconn.setPassword("test");
    dbconn.setConnectOptions("QSQLITE_USE_CIPHER=sqlcipher; QSQLITE_ENABLE_REGEXP");
    if (!dbconn.open()) {
        qDebug() << "Can not open connection: " << dbconn.lastError().driverText();
        exit(CONNECTION_FAILED);
    }

    QSqlQuery query;
    query.exec("create table mapping (id int, name varchar)");
    query.exec("insert into mapping values (1, 'AAA')");
    query.exec("insert into mapping values (2, 'BBB')");
    query.exec("insert into mapping values (3, 'CCC')");
    query.exec("insert into mapping values (4, 'DDD')");
    query.exec("insert into mapping values (5, 'EEE')");
    query.exec("insert into mapping values (6, 'FFF')");
    query.exec("insert into mapping values (7, 'GGG')");
    query.exec("select * from mapping where name regexp '(a|A)$'");
    if (query.next()) {
        qDebug() << "Regexp result: " << query.value(0).toInt() << ": " << query.value(1).toString();
    } else {
        qDebug() << "This plugin does not support regexp.";
    }
    qDebug() << "----------" << endl;
    query.exec("select id, name from mapping");
    while (query.next()) {
        qDebug() << query.value(0).toInt() << ": " << query.value(1).toString();
    }
    qDebug() << "----------" << endl;
    query.exec("update mapping set name='ZZZ' where id=1");
    query.exec("select id, name from mapping");
    while (query.next()) {
        qDebug() << query.value(0).toInt() << ": " << query.value(1).toString();
    }
    qDebug() << "----------" << endl;
    query.exec("delete from mapping where id=4");
    query.exec("select id, name from mapping");
    while (query.next()) {
        qDebug() << query.value(0).toInt() << ": " << query.value(1).toString();
    }
    query.exec("drop table mapping");
    dbconn.close();

    return 0;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node-Red-パスワードで保護されたSQLiteデータベースにアクセスする

分類Dev

アセットパイプライン(ペーパークリップ)からの画像をRailsデータベースにシードする方法は?

分類Dev

sqliteを使用してデータベースからデータにアクセスする方法

分類Dev

間違ったパスワードはdjangoのデータベースにアクセスできます

分類Dev

quarkusフレームワークでsqliteデータベースをセットアップする方法

分類Dev

パスワード更新のためにデータベースからのパスワードを比較する

分類Dev

レルムデータベースでユーザーのパスワードをリセットする方法はありますか?

分類Dev

PostgresqlデータベースからOracleデータベースのソースにアクセスする方法

分類Dev

sqliteデータベースからデータにアクセスする

分類Dev

Laravel: データベースから変数を作成し、ブレードの値にアクセスする方法

分類Dev

反応でフェッチを使用して、データベースにアクセスするにはユーザー名パスワードが必要です

分類Dev

password_verify()を使用してデータベースからパスワードを取得する方法は?

分類Dev

R DBIでデータベースのユーザー名とパスワードを保護する方法は?

分類Dev

PHPを使用してMySQLデータベースからパスワードの値を取得する方法

分類Dev

ユーザー名とパスワードの詳細をアプリからデータベースに保存する方法と、アプリをデータベースに接続する方法は?

分類Dev

openshiftでデータベースのパスワードを変更/リセットする方法

分類Dev

phpを使用してmysqlデータベースから特定の値にアクセスする方法は?

分類Dev

ホーム `GridView`レイアウトでSQLiteデータベースからのデータを表示する方法

分類Dev

スーパークラスのキーワード引数を持つPython2.7関数:サブクラスからアクセスする方法は?

分類Dev

使用していない特定のユーザー名とパスワードを持つユーザーにデータベースへのアクセスを許可するにはどうすればよいですか?

分類Dev

パスワードなしでデータベースにアクセスしますか?

分類Dev

JelasticJPSでクラスター化データベースのユーザー名とパスワードを取得または設定する方法

分類Dev

JavaScriptからSQLiteデータベースにアクセスできますか?

分類Dev

PHPからSQLITEデータベースにアクセスする際のエラー(ただし、コマンドラインからは機能します...)

分類Dev

特定のユーザーアカウントに対してデフォルトでインターネットアクセスを無効にし、パスワードによるアクセスを許可する方法はありますか?

分類Dev

コアPHPコードでWordPressデータベースにアクセスする方法はありますか

分類Dev

Access を使用してサード パーティのデータベースにアクセスする方法

分類Dev

挿入された現在のパスワードがMySQLデータベースからの正しいパスワードであるかどうかをPHPコードでチェックする方法

分類Dev

SQLiteデータベースを保存してさまざまなデバイスからアクセスできるようにする方法

Related 関連記事

  1. 1

    Node-Red-パスワードで保護されたSQLiteデータベースにアクセスする

  2. 2

    アセットパイプライン(ペーパークリップ)からの画像をRailsデータベースにシードする方法は?

  3. 3

    sqliteを使用してデータベースからデータにアクセスする方法

  4. 4

    間違ったパスワードはdjangoのデータベースにアクセスできます

  5. 5

    quarkusフレームワークでsqliteデータベースをセットアップする方法

  6. 6

    パスワード更新のためにデータベースからのパスワードを比較する

  7. 7

    レルムデータベースでユーザーのパスワードをリセットする方法はありますか?

  8. 8

    PostgresqlデータベースからOracleデータベースのソースにアクセスする方法

  9. 9

    sqliteデータベースからデータにアクセスする

  10. 10

    Laravel: データベースから変数を作成し、ブレードの値にアクセスする方法

  11. 11

    反応でフェッチを使用して、データベースにアクセスするにはユーザー名パスワードが必要です

  12. 12

    password_verify()を使用してデータベースからパスワードを取得する方法は?

  13. 13

    R DBIでデータベースのユーザー名とパスワードを保護する方法は?

  14. 14

    PHPを使用してMySQLデータベースからパスワードの値を取得する方法

  15. 15

    ユーザー名とパスワードの詳細をアプリからデータベースに保存する方法と、アプリをデータベースに接続する方法は?

  16. 16

    openshiftでデータベースのパスワードを変更/リセットする方法

  17. 17

    phpを使用してmysqlデータベースから特定の値にアクセスする方法は?

  18. 18

    ホーム `GridView`レイアウトでSQLiteデータベースからのデータを表示する方法

  19. 19

    スーパークラスのキーワード引数を持つPython2.7関数:サブクラスからアクセスする方法は?

  20. 20

    使用していない特定のユーザー名とパスワードを持つユーザーにデータベースへのアクセスを許可するにはどうすればよいですか?

  21. 21

    パスワードなしでデータベースにアクセスしますか?

  22. 22

    JelasticJPSでクラスター化データベースのユーザー名とパスワードを取得または設定する方法

  23. 23

    JavaScriptからSQLiteデータベースにアクセスできますか?

  24. 24

    PHPからSQLITEデータベースにアクセスする際のエラー(ただし、コマンドラインからは機能します...)

  25. 25

    特定のユーザーアカウントに対してデフォルトでインターネットアクセスを無効にし、パスワードによるアクセスを許可する方法はありますか?

  26. 26

    コアPHPコードでWordPressデータベースにアクセスする方法はありますか

  27. 27

    Access を使用してサード パーティのデータベースにアクセスする方法

  28. 28

    挿入された現在のパスワードがMySQLデータベースからの正しいパスワードであるかどうかをPHPコードでチェックする方法

  29. 29

    SQLiteデータベースを保存してさまざまなデバイスからアクセスできるようにする方法

ホットタグ

アーカイブ