• 9944阅读
  • 4回复

【原创】QT4 Windows OpenSource版中如何连接数据库 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2005-07-08
QT4 Windows OpenSource版中如何连接数据库

Windows OpenSource版中,它自身只带了SQLite的驱动,其它的驱动(比如MySQL, Oracle, InterBase, ODBC等)需要用户自己去编译,这就麻烦来了,我试验了一下,本来想使用MySQL或者SQL Server,但MySQL我机器上使用的是MySQL5,而它说明文档中只包含了3.x和4.x,试着编译了几次,总不成功,做罢,然后试验编译ODBC,很顺利,一下子就完了,有ODBC还好说了,因为MySQL和MSSQL都可以配置进ODBC中,这样就能使用它了。


  QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
  db.setHostName("localhost");   // 这个实际上就是本机
  db.setDatabaseName("mssql_qt"); // 这个实际上就是数据源名DSN
  db.setUserName("sa");
  db.setPassword("password");
  bool ok = db.open();
  QSqlQuery query;
  query.exec("create table person (id int primary key, "
          "firstname varchar(20), lastname varchar(20))");
  query.exec("insert into person values(101, 'Danny', 'Young')");
  query.exec("insert into person values(102, 'Christine', 'Holand')");
  query.exec("insert into person values(103, 'Lars', 'Gordon')");
  query.exec("insert into person values(104, 'Roberto', 'Robitaille')");
  query.exec("insert into person values(105, 'Maria', 'Papadopoulos')");
  db.close();
[ 此贴被XChinux在2005-08-02 09:09重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 1楼 发表于: 2005-07-27
sungaoyong       7月27日 下午1时10分   显示选项
发件人: "sungaoyong" <sungaoy...@yahoo.com.cn> - 查找此作者的帖子
日期:Tue, 26 Jul 2005 22:10:49 -0700
当地时间:2005年7月27日(星期三) 下午1时10分

这些可以简写,例连结sqlserver数据库可写成如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
db.setDatabaseName("DRIVER={SQL
Server};Server="+host+";Database="+database+";Uid="+user+";Pwd="+password+";");
[ 此贴被XChinux在2005-08-20 06:01重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线icyheart98

只看该作者 2楼 发表于: 2006-07-25
请问斑竹QT4在Unix下连接Oracle数据库,怎么实现呢?
离线yingning1314
只看该作者 3楼 发表于: 2008-07-12
请问版主:linux下没有sqlite的驱动,是不是可以用odbc?如果不是,怎样安装sqlite的驱动?

我是刚刚接触qt, 请多多指教。
天生我才必有用
离线yeguoxiong

只看该作者 4楼 发表于: 2009-04-20
版主你好。你连过远程数据库吗?
我连远程数据库,读数据没问题。但就是无法写入,你知道什么原因吗?
快速回复
限100 字节
 
上一个 下一个