【发布时间】:2011-05-31 11:06:47
【问题描述】:
我想在我的 QT 项目中创建一个类来处理 SQL 连接以及所有必要的查询和 sql 事务。
我发现没有这个错误“QSqlQuery::exec : Database not open”我只需要在 QSqlDatabase 初始化和打开之后初始化 QSqlQuery。
问题是我不知道该怎么做...
这是我的代码:
private:
QSqlDatabase MyDBConnection;
// Efectua a ligação à DB
bool MySqlCon()
{
MyDBConnection = QSqlDatabase::addDatabase("QMYSQL");
if (!MyDBConnection.isValid())
qDebug() << "ERRO DRIVER MYSQL";
MyDBConnection.setHostName("localhost");
MyDBConnection.setUserName("username");
MyDBConnection.setPassword("password");
if (MyDBConnection.open())
{
MySqlQuery = QSqlQuery(MyDBConnection);
return true;
}
else
{
qDebug() << MyDBConnection.lastError();
qDebug() << "Não Ligado Com Sucesso";
return false;
}
}
public:
QSqlQuery MySqlQuery;
// Lê valores na DB
void DBReader(QString Query)
{
if(MySqlCon())
MySqlQuery.exec(Query);
else
qDebug() << "ERRO";
}
提前致谢, 路易斯·达科斯塔
【问题讨论】:
-
请不要编辑问题标题以表明[已解决]。您可以接受提供的答案或添加您自己的答案来解释解决方案并接受该答案。