[Python] query con MySQL
Crash Override
crash.ovd a gmail.com
Sab 2 Feb 2008 12:54:18 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ì.
>
>
>> '''select qualcosa from qualcosaltro WHERE qualcosa = % (nomeStringa) s'''
>>
>
> di sicuro gli spazi in '% (nomeStringa) s' non servono. Questo non viene
> riconosciuto come segnaposto. Scrivi '%(nomeStringa)s'.
>
>
>> dove nomeStringa lo prendo da un EvtText di una TextCtrl. Ecco... la
>> query non dà rsultati! Il nome (nomeStringa) esiste perchè se lo scrivo
>> io all'interno della query funziona! Inoltre ho provato a far stampare
>> in un wx.dialog il testo della TextCtrl: è tutto 'regolare'. Il problema
>> qualè? La TextCtrl aggiunge qualcosa che devo 'opportunamete' eliminare?
>> Non mi sembra...
>> La stringa è presa da una funzione EvtText(evt) come evt.GetString().
>>
>
> Cos'è nomeStringa? Il nome di una variabile locale? Dovrebbe essere la chiave
> di un dizionario passato come secondo argomento al metodo execute() del
> cursore. Per intenderci da te ci si aspetta:
>
> cnn = MySQLdb.connect(dsn)
> cur = cnn.cursor()
>
> sql = '''select qualcosa from qualcosaltro
> WHERE qualcosa = %(nomeStringa)s'''
> args = { 'nomeStringa': 'mio valore' }
>
> cur.execute(sql, args)
>
> for record in cur:
> ...
>
>
Ok, man mano faccio progressi da solo. Format requires a mapping,
traduzione: "Imbecille stai usando una formattazione da dizionario per
una stringa!"
Bene. Ma io non voglio usare un dizionario, voglio usare una semplice
stringa! Devo cambiare il paramstyle? Come?
Sempre Grazie
P
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20080202/b7219ffe/attachment.htm
More information about the Python
mailing list