2016-11-16 24 views
0

私は他のGUIアプリケーションで使用されているので、ユーザーがデータを編集できないように、Qtアプリケーションのみが編集できるように、私は読み取り専用にしたいsqliteデータベースを持っています。Sqliteデータベースを読み込み専用にする方法は?

//open the database 
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
    db.setDatabaseName(database location); 

    if(db.open()) 
     qDebug()<<"opened!"; 
    else 
     qDebug()<<"not opened!"; 

//insert data 
QSqlQuery qry; 

qry.prepare("insert into tableName (column_1, column_2, column_3) values (:v1, :v2, :v3)"); 

    qry.bindValue(":v1", "data1"); 
    qry.bindValue(":v2", "data2"); 
    qry.bindValue(":v3", "data3"); 

    qry.exec(); 
+2

1つのプログラムがそのようなファイルに書き込むことを許可する方法はありません。 –

+0

なぜあなたはそのロックを持っていますか? – HazemGomaa

+0

私は、私のアプリケーションがクライアントビジネスのためのデータを扱うと言っているので、私はデータベースを読み込み専用にしたいと思うので、もしgui sqliteアプリケーションからデータを編集すると、彼の仕事に影響を与えます。アプリケーションを使用してデータを編集する方法(ユーザーはパスワードを持っています) –

答えて

0

Encrypt your databaseそれにアクセスすることができますので、あなたのアプリケーション:

は、ここに私のコードです。アプリケーション内にエクスポート機能を提供し、非暗号化バージョンのDBを表示用にのみ書き出します。

関連する問題