[Python] query con MySQL

Crash Override crash.ovd a gmail.com
Sab 2 Feb 2008 11:49:20 CET


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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20080202/825aed59/attachment.htm 


More information about the Python mailing list