MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / OpenDatabase

Method OpenDatabase

Src/Database/Database.cpp:69–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69bool CDatabase::OpenDatabase(const CParameterDatabase *pPara,
70 const QString &szConnectName)
71{
72 SetError();
73 bool bRet = false;
74 if(!pPara) {
75 bRet = OpenSQLiteDatabase(pPara, szConnectName);
76 return bRet;
77 }
78
79 m_pPara = pPara;
80 QString szErr = "Only one of OpenDatabase or SetDatabase can be called, and it can only be called once";
81 Q_ASSERT_X(!IsOpen(), "Database", szErr.toStdString().c_str());
82
83 if(pPara->GetType() == "QSQLITE")
84 bRet = OpenSQLiteDatabase(pPara, szConnectName);
85 else if(pPara->GetType() == "QMYSQL")
86 bRet = OpenMySqlDatabase(pPara, szConnectName);
87 else if(pPara->GetType() == "QODBC")
88 bRet = OpenODBCDatabase(pPara, szConnectName);
89 else
90 SetError(tr("Database type not supported:") + " " + pPara->GetType());
91
92 QSqlDriver *driver = GetDatabase().driver();
93 if (driver) {
94 qDebug(log) << "=== Features for" << pPara->GetType() << "===";
95 qDebug(log) << "Transactions:" << driver->hasFeature(QSqlDriver::Transactions);
96 qDebug(log) << "Query size:" << driver->hasFeature(QSqlDriver::QuerySize);
97 qDebug(log) << "BLOB:" << driver->hasFeature(QSqlDriver::BLOB);
98 qDebug(log) << "Unicode:" << driver->hasFeature(QSqlDriver::Unicode);
99 qDebug(log) << "Prepared queries:" << driver->hasFeature(QSqlDriver::PreparedQueries);
100 qDebug(log) << "Named placeholders:" << driver->hasFeature(QSqlDriver::NamedPlaceholders);
101 qDebug(log) << "Positional placeholders:" << driver->hasFeature(QSqlDriver::PositionalPlaceholders);
102 qDebug(log) << "Last insert ID:" << driver->hasFeature(QSqlDriver::LastInsertId);
103 qDebug(log) << "Batch operations:" << driver->hasFeature(QSqlDriver::BatchOperations);
104 qDebug(log) << "Event notifications:" << driver->hasFeature(QSqlDriver::EventNotifications);
105 qDebug(log) << "Finish query:" << driver->hasFeature(QSqlDriver::FinishQuery);
106 qDebug(log) << "Multiple result sets:" << driver->hasFeature(QSqlDriver::MultipleResultSets);
107 qDebug(log) << "Cancel query:" << driver->hasFeature(QSqlDriver::CancelQuery);
108 }
109
110 return bRet;
111}
112
113bool CDatabase::OpenSQLiteDatabase(const CParameterDatabase *pPara,
114 const QString &szConnectionName)

Callers 3

InitialMethod · 0.80
on_pbTest_clickedMethod · 0.80
InitDatabaseMethod · 0.80

Calls 1

GetTypeMethod · 0.45

Tested by

no test coverage detected