免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 992 | 回复: 0
打印 上一主题 下一主题

QT用ODBC连接SQL Server [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览
  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

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP