2012-02-13 2 views
2

사용자가 편집 한 여러 데이터베이스를 처리하는 앱이 있습니다. QFileDialog를 사용하여 경로를 얻는 것처럼 특정 경로에서 열 수 있기를 바랍니다.Qt와 데이터베이스가 저장하고 열어줍니다.

또한 나는 그것이 실행 파일이있는 데이터베이스 파일을 저장한다는 것을 알았지 만 다른 곳에 저장할 수있는 방법이 있습니까?

답변

2

sqlite로 작업하는 경우에는 db.setDatabaseName (file_name) (db는 연결) 파일을 QFileDialog로 선택할 수있는 경로로 전달하면됩니다.

다른 데이터베이스로 작업하는 경우 데이터베이스 서버에 연결하기 만하면됩니다.

+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