直接进主题:
1、添加 QT += sql
2、操作SQL Server数据库
QSqlDatabase qdb;
if (QSqlDatabase::contains("qt_sql_default_connection"))
{
qdb = QSqlDatabase::database("qt_sql_default_connection");
}
else
{
qdb = QSqlDatabase::addDatabase("QODBC");
}
QString dbname = QString("DRIVER={SQL SERVER};SERVER=%1;DATABASE=%2;UID=%3;PWD=%4").arg(DB_IP).arg(DB_Name).arg(UserName).arg(Password);
qdb.setDatabaseName(dbname);
if (qdb.open())
{
QSqlQuery sqlQry(qdb);
QString exe_sql_timeQryStr = QString("select getdate() from %1").arg(YourTableName);
sqlQry.exec(exe_sql_timeQryStr);
bool b = sqlQry.first();
if (b)
{
//...读取数据库的时间
QDateTime currentTimeOnSqlServer = sqlQry.value(0).toDateTime();
}
sqlQry.clear();
//循环读取
QString str =QString("select *from %1").arg(YourTableName);
sqlQry.exec(str);
b = sqlQry.first();
while(b)
{
QString tmp = sqlQry.value("name").toString();
qDebug()<<tmp <<"\n";
b = sqlQry.next();
}
}
else
{
//打开失败
//...
}
qdb.close();
建议使用多线程,可以避免数据库操作过程出现的UI卡顿,关于多线程的操作,不在此叙述。