2012-02-13 7 views
2

私は、ユーザが編集した複数のデータベースを扱うアプリケーションを持っています。また、QFileDialogを使ってパスを取得するなど、指定したパスから開くこともできます。Qtとデータベースは保存して開きます

また、実行可能ファイルがある場所にデータベースファイルを保存することも確認しましたが、別の場所に保存する方法はありますか?

答えて

2

sqliteを使用している場合は、QFileDialogで選択できるファイルへのパスdb.setDatabaseName(file_name)(dbは接続)に渡すだけです。

他のデータベースを使用している場合は、おそらくデータベースサーバーに接続するだけです。

+0

ありがとうございます!あなたは私の日を救った、私は想像していただろう、それはとても簡単だった – Andrew

1

まず、どのデータベースを使用しているのですか。 MySQL、SQLite。あなたがSQLiteで作業している場合、これは本当に簡単です。データベースを追加するときにファイル名を指定します。したがって、たとえば:

//get the database file with QFileDialog 
QString fileName = QFileDialog::getOpenFileName(this, 
tr("Open Database"), "/home/yourhome", tr("SQLite Database Files (*.sqlite)")); 

//add the new database 
QSqlDatabase db = QSqlDatabase::addDatabase("SQLITE"); 
db.setHostName("localhost"); 
db.setDatabaseName(fileName); 
//now your database will be stored in fileName 
関連する問題