Qt连接SQL Server数据库

原文地址::http://www.voidcn.com/article/p-vhdherhx-op.html

相关文章

1、Qt连接SQL server数据库----http://blog.csdn.net/ccsuxwz/article/details/72875376

2、Qt笔记(1)连接 SQL Server 数据库----http://www.voidcn.com/article/p-diddzzlh-ev.html


前提:
SQL Server里已经建立了相应的数据库,有对应的表和数据。

步骤:
1. Qt里新建一个空工程,添加main.cpp文件。
2. 在工程文件(.pro文件)添加一行:QT += sql。
3. 该敲代码了,代码如下:

[cpp]  view plain  copy
  1. #include <QtGui>  
  2. #include <QString>  
  3. #include <QTextCodec>  
  4. #include <QSqlDatabase>  
  5. #include <QtSql>  
  6.   
  7. /*连接数据库*/  
  8. void OpenDatabase()  
  9. {  
  10.     QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");  
  11.     db.setDatabaseName(QString("DRIVER={SQL SERVER};"  
  12.                                "SERVER=%1;"  
  13.                                "DATABASE=%2;"  
  14.                                "UID=%3;"  
  15.                                "PWD=%4;").arg("QIAN-PC")  
  16.                        .arg("StuManager")  
  17.                        .arg("sa")  
  18.                        .arg("123456"));  
  19.     if (!db.open())  
  20.     {  
  21.   
  22.         QMessageBox::warning(0, qApp->tr("Cannot open database"),  
  23.                 db.lastError().databaseText(), QMessageBox::Cancel);  
  24.     }  
  25.     else  
  26.     {  
  27.         qDebug()<<"Connect to Database Success!";  
  28.     }  
  29.   
  30. }  
  31.   
  32. int main(int argc, char *argv[])  
  33. {  
  34.     QApplication a(argc, argv);  
  35.   
  36.     /*设置编码格式*/  
  37.     QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));  
  38.   
  39.     OpenDatabase();  
  40.   
  41.     QDialog *mainDialog = new QDialog;  
  42.     QTableView *tableView = new QTableView;  
  43.     QHBoxLayout *layout = new QHBoxLayout;  
  44.     layout->addWidget(tableView);  
  45.     mainDialog->setLayout(layout);  
  46.   
  47.     QSqlQueryModel *model = new QSqlQueryModel;  
  48.     model->setQuery(QObject::tr("select * from 教师"));  
  49.     tableView->setModel(model);  
  50.   
  51.     mainDialog->adjustSize();  
  52.     mainDialog->show();  
  53.   
  54.     return a.exec();  
  55. }  

4. 看看运行结果吧。

 

参考网址:http://www.voidcn.com/article/p-diddzzlh-ev.html

相关文章
相关标签/搜索