[問題] PyQt和SQLite下,執行select的問題
各位版友好,小弟目前在寫一個小project,目的是要做portable的windows app
但目前遇到從資料庫裡無法select的問題,已經卡了1星期了...
以下是我的程式碼,想法是:
比對輸入的字串是否為空→輸入字串是否在資料庫裏面→如果是,將該筆資料select
但是執行之後,Error顯示「No query Unable to fetch row」
我很確定第一個select執行完後,result裡有select出來的資料
def srh(self):
query_object = QtSql.QSqlQuery()
prod_ID = self.srh_bar.text()
result = []
if prod_ID != "":
query_object.exec_("SELECT ID FROM add_prod")
while (query_object.next()):
result.append(query_object.value(0))
print(result)
if prod_ID in result:
query_object.exec_(
"SELECT prod_name, ingre, unit_price, effect"
"FROM add_ingre AS I, add_prod AS P, mix AS M"
"WHERE I.ID = M.ingre_ID AND P.ID = M.prod_ID"
"AND P.ID = '%s'"%prod_ID)
if not query_object.exec_():
print(query_object.lastError().text())
else:
print("false")
而我也試過用place holder的方式,變成:
query_object.prepare(
"SELECT prod_name, ingre, unit_price, effect"
"FROM add_ingre AS I, add_prod AS P, mix AS M"
"WHERE I.ID = M.ingre_ID AND P.ID = M.prod_ID AND P.ID = :a")
query_object.bindValue(":a", prod_ID)
query_object.exec_()
但是這段程式碼出現「Parameter count mismatch」
希望各位版友能夠幫我解答,謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.70.25
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1463024872.A.AE3.html
→
05/12 13:27, , 1F
05/12 13:27, 1F
→
05/12 13:27, , 2F
05/12 13:27, 2F
→
05/12 13:28, , 3F
05/12 13:28, 3F
→
05/12 14:11, , 4F
05/12 14:11, 4F
→
05/12 15:27, , 5F
05/12 15:27, 5F
→
05/12 15:27, , 6F
05/12 15:27, 6F
→
05/12 15:28, , 7F
05/12 15:28, 7F
→
05/12 15:28, , 8F
05/12 15:28, 8F
→
05/12 20:30, , 9F
05/12 20:30, 9F
→
05/12 20:30, , 10F
05/12 20:30, 10F
→
05/12 20:31, , 11F
05/12 20:31, 11F
→
05/12 20:32, , 12F
05/12 20:32, 12F
→
05/12 22:10, , 13F
05/12 22:10, 13F
Python 近期熱門文章
PTT數位生活區 即時熱門文章