无法在C ++中建立与MySQL数据库的连接

时间:2018-10-28 17:35:33

标签: c++ mysql qt

我最近尝试使用QSqlDatabase与C ++中的SQL数据库建立连接。这是我的代码的一小部分。

void guimain::on_pushbutton_clicked(){
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");       
    db.setHostName("tcp://127.0.0.1:3306");    
    db.setDatabaseName("MyDatbase");    
    db.setUserName("username");    
    db.setPassword("password");    
    bool connected = db.open();    
    cout<< connected\n;    
}    

每次我运行程序时,它都会打印为0连接,这表示它尚未连接到数据库。我仔细检查了密码,用户名,数据库和其他所有内容的正确性。还有什么问题吗?

1 个答案:

答案 0 :(得分:-2)

也许您要抑制错误?

cout<< connected\n;

应该是

cout<< "connected\n"; 

或者,如果要建立连接则输出字符串“ connected”:

cout<< connected ? "connected\n" : "failed to connect\n";

放置前者应该导致输出错误。

您也将名称命名为“ MyDatbase”,这似乎使您误认为“ MyDatabase”。

编辑:不知道为什么我会被拒绝。您告诉我们您没有任何错误,但是我看到了明显的语法错误,因此您要么不诚实,要么抑制错误。抑制错误是不明智的做法-避免错误。至于为什么它实际上无法连接,就像我上面说的那样,您似乎误输入了数据库名称。