我正在使用 Qt 连接到数据库(到目前为止使用 PostgreSQL 和 mySQL)并且对端口的工作方式有点困惑。如果这有所作为,我正在使用 Ubuntu。
根据此处的文档:http: //doc.qt.nokia.com/4.8-snapshot/qsqldatabase.html#setPort端口没有默认值。但是,我注意到我的设置实际上并没有设置端口,但它仍然可以毫无问题地连接。
所以我把它设置成这样:
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("mydb");
db.setUserName("name");
db.setPassword("pass");
哪个有效(我也尝试过使用 mySQL 驱动程序)
如果我这样做,它也可以工作:db.setPort(-1);
或者正如我所期望的那样使用默认端口:db.setPort(5432);
但其他端口不按预期工作。那么,鉴于它说没有默认端口值,并且 -1 显然不是有效端口,它是如何工作的?