|
1。 从db=QSqlDatabase::addDatabase(), db.setHostName, setDatabaseName, setUser & set Password 一直到db.open()是建立一个连接。
---对,
2. 这个连接是对某个数据库系统(比如,MYSQL,或者POSTGRESQL等等),中的某个数据库(比如,employee, 等等)的。
---对。
3。QSqlQuery qry(db), 是在这个db连接上建一个查询。
---是建立了一个可用来在这个db上进行查询的查询对象。等等哦运行exec()是才是真正查询。
4。可不可以在一个连接上同时用几个查询,比如, qry1(db), qry2(db),qry3(db)? 还是要对没个查询都建立一个db连接?
---当然可以。
5。在MYSQL中好像,qry.prepare 和qry.bindValue()不太好用,exec后,qry.executedQuery并没有打出正确的SQL语句。
---exec()的返回值检查了吗?exec()成功执行了吗?
6。关闭和释放资源,只要db.close()就可以了,还要用QSqlDatabase::removeDatabase马?
---removeDatabase()隐含db.close()。addDatabase(), removeDatabase()都是静态函数,维护一个全局的命名的数据库连接表。
建议具体API还是多看看QT自带的reference,都说的非常清晰,再结合自己的例子,这些问题就不用劳神问了,自己发现的答案往往记忆效果要远远好于别人告诉的。而且QT的文档质量是非常棒的,API也是非常多的,要是每个API都这样问问,那是没有穷尽的 |
|