#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QSqlDatabase>
#include <QSqlError>
#include<QSqlQuery>
#include <QSettings>
#include <QString>
#include<QDebug>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
const QUrl url(u"qrc:/StudyDemo01/main.qml"_qs);
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
//以下为正式内容
//将数据库写入注册表
//需要管理员权限运行
QSettings reg_2("HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources", QSettings::NativeFormat);
reg_2.setValue("dsnName","SQL Server");//dsnName为数据源名
QSettings reg("HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBC.INI", QSettings::NativeFormat);
reg.beginGroup("dsnName");
reg.setValue("Driver","C:\\Windows\\system32\\SQLSRV32.dll");
reg.setValue("Description","database");
reg.setValue("Server","192.168.10.10");//主机IP地址
reg.setValue("Database","ipinfo");//databaseName为默认数据库
reg.setValue("LastUser","sa");//用户名
reg.setValue("Trusted_Connection","No"); //Yes集成身份验证,No为混合身份验证
reg.setValue("PWD","123456");
QSettings reg_1("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\Client\\ConnectTo", QSettings::NativeFormat);
reg_1.setValue("123.56.87.47","DBMSSOCN,192.168.10.10,1433");//1433为默认端口,可修改,只改IP,其他别动
//连接MSSQL数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug ()<< "sql driver "<< db.isValid();
db.setHostName("192.168.10.10");
//设置数据源名称
db.setDatabaseName("dsnName");
db.setUserName("sa");
db.setPassword("123456");
db.open();
if(!db.open())
{
qDebug()<<db.lastError();
//return false;
}
else
{
qDebug()<<"数据库连接成功!";
// return true;
QSqlQuery query(db);
// qDebug() << query.exec("select * from ipdata");
query.exec("select * from ipdata");
while(query.next())
{
qDebug() << query.value(0).toString() << query.value(1).toString();
}
}
//以上为正式内容
return app.exec();
}