2016-03-05 30 views
0

我正在使用Python中的SQLite3使用註冊系統。當我想要找到一個具體的學生時,我有一個問題,當我只有他的名字。例如,我可能會在我的「學生」表中找到Gabriel Machado和Gabriel McPython。 當我使用從這張表格中選擇「Gabriel」作爲參數時,它將返回給我2行,每個Gabriel一行,但是我的GUI只支持一次顯示一個「Gabriel」。所以我想要的是,每次點擊「serch」按鈕時,它都會返回我下一個「Gabriel」列表。如何用Python和SQlite一次選擇一行?

當我嘗試:

dado = c.execute("SELECT * FROM students WHERE SQnome LIKE ?", ('%'+self.texNome.text()+'%',)) 
    for row in dado: 
     print (row[1]) #Shows only the Full name for debugging 

它將打印我既 「加布裏埃爾·馬查多」 和 「加布裏埃爾McPython」。當我真正想要的是:

  1. 點擊搜索按鈕,它會再次顯示我的第一加布裏埃爾
  2. 點擊搜索按鈕,它會告訴我的第二加布裏埃爾。

我希望我說清楚,這是我的第一個問題。 乾杯

回答

0

我認爲c.fetchone()會得到你想要的東西:

c.execute("SELECT * FROM students WHERE SQnome LIKE ?", ('%'+self.texNome.text()+'%',)) 

現在每次單擊搜索按鈕時,你會打電話c.fetchone(),它會爲你抓取一行,那麼你可以做到這一點的例如:

print(c.fetchone()) 
+0

我會盡力而爲,非常感謝! –

相關問題