使用VS2017编译的QT连接SQL server,如果没有设置好数据源,会出现“未发现数据源名称并且未指定默认驱动程序”的错误,具体解决办法参考:https://blog.csdn.net/JM_KB/article/details/17013351?utm_source=blogxgwz8
连接数据库代码如下:
//连接SQLServer数据库
//ODBC数据源用户名称,见 控制面板/管理工具/ODBC数据源
QString dsn = QString::fromLocal8Bit("mydsn");
//指定数据库驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(dsn);
//指定数据库,因为设置数据源时已设置***为默认数据库,因此可以没有
//db.setDatabaseName("***");
//我这里使用的是Windows身份验证的账号,所以没有密码
//如果使用sql server用户,还需要设置密码db.setPassword("***")
db.setUserName("DESKTOP-A989KI2\\Bruce");//第一个\是转义字符,第二个\才是\
//若连接失败,弹出错误信息
if(!db.open())
{
QMessageBox::warning(&welcomeWindow,"ERROR",db.lastError().text());
}