我有点小白,我一直在下面的教程创建与PyQt的/ Python的一个基本的应用程序来查询MySQL数据库。下面是代码:builtins.AttributeError:“海峡”对象有没有属性“的toString”
import sys
from PyQt4 import QtCore, QtGui, QtSql
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
app = QApplication(sys.argv)
w = QTextBrowser()
# DB type, host, user, password...
db = QSqlDatabase.addDatabase("QMYSQL");
db.setHostName("localhost")
db.setDatabaseName("microphones")
db.setUserName("root")
db.setPassword("")
ok = db.open()
# True if connected
if ok:
w.insertHtml('Connected to MySQL<br />')
else:
w.insertHtml('ERROR connecting to MySQL<br />')
# do a query "on" a DB connection
query = QSqlQuery(db)
if query.exec_("SHOW TABLES"):
w.insertHtml('<br />')
while query.next():
table = query.value(0).toString()
w.insertHtml('%s<br />' % table)
w.insertHtml('<br />')
w.insertHtml('TOTAL %s TABLES' % query.size())
w.show()
sys.exit(app.exec_())
这里是在数据库中的表'ebay_microphones“麦克风”:
ID,product_name,item_number,price
1,"AKG C14",564564564,32
2,"Samsung ",454564545,99
3,"Shure ",564687784,80
据我所知的代码应该显示在表数据库,但我得到的错误builtins.AttributeError: 'str' object has no attribute 'toString'
任何人都可以点我在正确的方向,为什么我收到此错误? 由于
'表= query.value(0)的ToString()'该行应该是 - '表= STR(query.value(0) )' –
哇,感谢您的快速反应,这是工作!你认为写这篇文章的人是从以前的版本使用旧的语法还是错误的? – neilH
这不是一个较老的语法。只是错误的。 –