一直以为是我的数据库配置问题。
#include <QCoreApplication>
#include <QtSql>
#include <QtDebug>
#include <QSqlDatabase>
#include <QString>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
/*
QString servername="LOCALHOST\\MSSQLSERVER";
QString dbname="test";
QSqlDatabase db= QSqlDatabase::addDatabase("QODBC");
db.setConnectOptions();
QString dsn=QString("DRIVER={SQL Native Client};SERVER=%1;DATABASE=%2;Trusted_Connection=Yes;").arg(servername).arg(dbname);
db.setDatabaseName(dsn);
*/
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(QString("DRIVER={SQL SERVER};"
"SERVER=%1;"
"DATABASE=%2;"
"UID=%3;"
"PWD=%4;").arg("DESKTOP-AM7E5H3")
.arg("1")
.arg("sa")
.arg("1234"));
if(db.open())
{
qDebug()<<"Opened";
db.close();
}
else
{
qDebug()<<"Error ="<<db.lastError().text();
}
return a.exec();
}
但是查看代码,要看清楚动脑子。第二个名字是数据库,在我上面的代码中,要先在数据库中建立名称为1的数据库。
此外,在Qt中使用数据库,要在pro中添加
QT +=sql