无法通过可执行文件连接到数据库

时间:2013-11-24 07:20:55

标签: c++ mysql qt qtsql qsqldatabase

我写了一个程序,需要连接到数据库来插入一些数据,我的可执行文件没有连接到数据库,但当我检查代码连接建立!我不知道什么是问题,你知道什么是问题吗? 我使用Qt连接到数据库,我的数据库在mySql上,这是我连接的方式:

soccer_db = QSqlDatabase::addDatabase("QMYSQL" , "sss");
    soccer_db.setHostName(addrrFile.c_str());
    soccer_db.setDatabaseName("sss");
    soccer_db.open();
    if (!soccer_db.open()){
        emit dsignal("ssss not opened. Ckech whether server is down or change config file");
        return false;
    }

2 个答案:

答案 0 :(得分:0)

您因为尝试打开数据库两次而遇到故障。第一次尝试成功但第二次尝试失败。删除第一次调用open,就像这样

soccer_db = QSqlDatabase::addDatabase("QMYSQL" , "sss");
soccer_db.setHostName(addrrFile.c_str());
soccer_db.setDatabaseName("sss");
if (!soccer_db.open()){
    emit dsignal("ssss not opened. Ckech whether server is down or change config file");
    return false;
}

答案 1 :(得分:0)

我想回答我的问题,在qt中你应该完全解决你的文件而不是相对地址,如果你需要完全解决,你可以通过QtDir提供当前目录