私は完全にあなたがやろうとしているものを理解していなかったけど初心者、私はあなたの2つの質問の答えを示しています。
たとえば、私たちはsqlite3のデータベース "sqlitedb.rdb" とテーブル名 "情報" を持って、
CREATE TABLE info (
id integer PRIMARY KEY AUTOINCREMENT DEFAULT NULL,
name TEXT(20) DEFAULT NULL,
country TEXT(20) DEFAULT NULL,
age integer)
といくつかのデータを持っている、
今
INSERT INTO info (name,country,age) VALUES ('Leroy Hale','San Marino','46');
INSERT INTO info (name,country,age) VALUES ('William Coleman','Namibia','50');
INSERT INTO info (name,country,age) VALUES ('Phelan Waller','Belgium','43');
INSERT INTO info (name,country,age) VALUES ('Kato Martin','Virgin Islands, British','21');
INSERT INTO info (name,country,age) VALUES ('Jameson Mccoy','United Arab Emirates','45');
INSERT INTO info (name,country,age) VALUES ('Fulton Reeves','Belarus','34');
INSERT INTO info (name,country,age) VALUES ('Calvin Love','Morocco','28');
INSERT INTO info (name,country,age) VALUES ('Peter Solis','Bhutan','31');
INSERT INTO info (name,country,age) VALUES ('Connor Stephenson','Dominican Republic','26');
INSERT INTO info (name,country,age) VALUES ('Aristotle Smith','Chad','45');
、
私はIDと名前(列0と1)を表示したいだけです。
は、このことができますを行うには
from PyQt4.QtSql import QSqlQueryModel,QSqlDatabase,QSqlQuery
from PyQt4.QtGui import QTableView,QApplication
import sys
app = QApplication(sys.argv)
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("sqlitedb.rdb")
db.open()
projectModel = QSqlQueryModel()
projectModel.setQuery("select name,age from info",db)
projectView = QTableView()
projectView.setModel(projectModel)
projectView.show()
app.exec_()
あなたは、クエリを使用して表示したいどのフィールド/列を設定することができます。私は、私が選択した項目の異なる列から情報を取得する方法
と、
?
あなたは、クエリの結果をナビゲートし、データ、例を持つことができ、
from PyQt4.QtSql import QSqlDatabase,QSqlQuery
from PyQt4.QtCore import QCoreApplication
import sys
app = QCoreApplication(sys.argv)
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("sqlitedb.rdb")
db.open()
query = QSqlQuery()
query.exec_("select * from info")
while (query.next()):
id = query.value(0).toInt()
name = query.value(1).toString()
country = query.value(2).toString()
age = query.value(3).toInt()
print "name = %s \ncountry = %s" % (name,country)
app.exec_()
することができますクエリをループし、データへのアクセスを取得します。
ありがとうございました。本当にsetQueryの例が分かりました。この特定の質問については、選択した項目だけのデータを取得する方法を知りたいと思います。私は自分の質問を編集しました。私の言葉がはっきりしないと申し訳ありません:) – Panupat
私の間違いは、QListViewの選択された行を '選択'することで意味しますが、私はあなたがmysql SELECT文を意味すると思った。私はQListViewの選択のための以下の別の答えを追加しました:) – Sarim