Daniele Varrazzo ha scritto:
Crash Override ha scritto:
Buongiorno.
Dopo aver letto sulla documentazione la giusta sintassi per inserire una stringa 'esterna' in una query MySQL con Python, scrivo (in un'oppurtuna funzione):

Ciao,

aiuterebbe avere un po' più di contesto, ricordatene quando chiedi una mano :) Manda un paio di righe in più della funzione di cui parli: non solo la stringa SQL ma anche come la usi, perché il problema è (anche) lì.

Ok. Aggiungiamo un po' di informazioni allora.
prendiamo proprio la query in questione:

def EvtTextTitolo(self, evt):
       self.titolo = evt.GetString()
def onFilm(self, evt): titoloF = str(self.titoloField.GetValue()) sSearch =''.join(titoloF.strip().split()) sSearch=sSearch+'%' if sSearch =='%' :
               wx.MessageBox("Devi inserire il titolo!",
                              AppTitle, wx.OK|wx.ICON_INFORMATION)
self.titoloField.SetFocus()
               return
       elif self.radio==3:
self.filmResult = onQuery('''SELECT final.titolo, final.nazione, final.nome_cdp, final.anno, final.genere, final.trama, final.durata, p.locandina,p.fotobook, p.trailerbreve, p.trailerlungo FROM(SELECT info.idfilm, info.nazione, info.nome_cdp, info.anno, info.titolo, info.genere, info.trama, info.durata from(SELECT * FROM realizzazione natural join film) AS info WHERE info.titolo = '%(titoloF)s')
                                     as final
                                      natural join pubblicita p''')
            if self.filmResult:
resultFrame = resultFrameInfo.resultFrameInfo(self.filmResult)
                resultFrame.Show()
            else:
                wx.MessageBox(titoloF,
AppTitle, wx.OK|wx.ICON_INFORMATION) else: wx.MessageBox("Se vuoi cercare le informazioni sul film o sul membro del cast, scegli l'opzione 'nessun criterio' ",
                              AppTitle, wx.OK|wx.ICON_INFORMATION)


o ci metto titoloF o self.titolo sempre non dà risultati. La funzione onQuery non può essere sbagliata perchè se scrvio al posto di %(titoloF)s il nome che passo nella TextCtrl, la query funziona! Nel primo else cè una msgBox perchè volevo capire se per caso si prendeva altre cose inutili dalla textctrl oltre alla stringa. Il mio codice è sporco (e lo so), ho scelto Python per questo progetto per imparare meglio un altro linguaggio, ora però i tempo stringono e devo finire tutto entro domani (motivo per cui ho fatto anche qualche domanda stupida e mi scuso).

Grazie
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a