Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1667220
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: 嵌入式

2011-04-08 15:26:39

  1. db=QSqlDatabase::addDatabase("QODBC", "db");
  2. db.setHostName("localhost");
  3. db.setPort(1433);
  4. db.setDatabaseName("ODBC数据源名");
  5. db.setUserName("sa");
  6. db.setPassword("password");
  7. if(!db.open())
  8. {
  9. QMessageBox::information(this, tr("db"), tr("can not open"));
  10. return false;
  11. }

关键是要把QT文件夹下的plugins下的sqldrivers文件夹拷贝到编译好的可执行文件相同的目录下。

  1. #ifndef CONNECTION_H
  2. #define CONNECTION_H
  3. #include <QMessageBox>
  4. #include <QSqlDatabase>
  5. #include <QSqlError>
  6. #include <QSqlQuery>


  7. static bool connection()
  8. {
  9.     QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
  10.     db.setDatabaseName(QString("DRIVER={SQL SERVER};"
  11.                                "SERVER=%1;" //服务器名称
  12.                                "DATABASE=%2;"//数据库名
  13.                                "UID=%3;" //登录名
  14.                                "PWD=%4;" //密码
  15.                                ).arg("TANY_PC")
  16.                                 .arg("MyData")
  17.                                 .arg("sa")
  18.                                 .arg("")
  19.                        );
  20.     if (!db.open())
  21.     {
  22.         QMessageBox::critical(0, qApp->tr("Cannot open database"),
  23.             db.lastError().databaseText(), QMessageBox::Cancel);
  24.         return false;
  25.     }
  26.     else
  27.     {
  28.         QMessageBox::information(0,"Connect Database","connect success!",QMessageBox::Ok);
  29.         return true;
  30.     }
  31.     return true;
  32. }
  33. #endif // CONNECTION_H

阅读(1056) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~