J'ai essayé de le faire dans l'interprète et je peux le faire fonctionner mais dans ma fonction, il ne le fait pasPourquoi pas ce travail (sqlite, python)
Ce que je suis en train de faire:
cursor = dbconnect.cursor()
cursor.execute("""SELECT * FROM credits WHERE phone = ?""",(phone,))
data = cursor.fetchone()
firstname = data[1] #the db is set as firstname in position 1 after the id(primekey)
J'extraction en fait toutes les données en utilisant cette méthode juste avec différentes variables
l'erreur que je reçois quand je le fais dans la fonction:
firstname = data[1]
TypeError: 'NoneType' object is not subscriptable
Comme une note: Je mets une déclaration d'impression après l'objet de données pour voir ce qu'il rentrait, dans l'interprète, il retourne le tuple Je cherche, dans la fonction, il est de retour « None »
CODE COMPLET :
def FindByPhone(self,phone):
'''Find Credit by phone number ONLY'''
dbconnect = sqlite3.connect(self.dbname)
cursor = dbconnect.cursor()
cursor.execute("""SELECT * FROM credits WHERE phone = ?""",(phone,))
data = cursor.fetchone()
first = data[1]
last = data[2]
phone = data[3]
credit = data[4]
cid = data[0]
self.SetVariables(first,last,phone,credit,cid)
cursor.close()
dbconnect.close()
return
Je viens d'ajouter la code réel im essayant de fonctionner dans mon message original – Isov5
comment exactement appelez-vous votre fonction? peut-être que la valeur du téléphone lui-même est None ou une valeur qui n'existe pas dans la base de données? – Gryphius
Eh bien, je l'appelle à partir de l'interface graphique wx.TextCtrl que je mets à une variable ... quelque chose comme téléphone = wx.TextCtrl.GetValue() – Isov5