我最近尝试使用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连接,这表示它尚未连接到数据库。我仔细检查了密码,用户名,数据库和其他所有内容的正确性。还有什么问题吗?
答案 0 :(得分:-2)
也许您要抑制错误?
cout<< connected\n;
应该是
cout<< "connected\n";
或者,如果要建立连接则输出字符串“ connected”:
cout<< connected ? "connected\n" : "failed to connect\n";
放置前者应该导致输出错误。
您也将名称命名为“ MyDatbase”,这似乎使您误认为“ MyDatabase”。
编辑:不知道为什么我会被拒绝。您告诉我们您没有任何错误,但是我看到了明显的语法错误,因此您要么不诚实,要么抑制错误。抑制错误是不明智的做法-避免错误。至于为什么它实际上无法连接,就像我上面说的那样,您似乎误输入了数据库名称。