[Gfoss] PyQGIS

Salvatore Larosa lrssvtml a gmail.com
Gio 8 Mar 2012 21:21:38 CET


Precisazione egregia per Sandro, che ringrazio, e confusione estrema per me!

In sostanza ho dato come vero la seguente espressione: 
PHP == SQL!!!!(strlen("PHP") == strlen("SQL"), così è verificata però!!)
oggi è stata una giornataccia, mio figlio ha esagerato con il
cambio pannolino! :-)

Ritornando a PDD, al momento non mi sovviene nulla di risolutivo,
io ti posso aiutare dandoti qualche indicazione (magari un altro
giorno :-o), dicendoti che nel contesto di una query SQL, anche
integrata in codice python, se vengono utilizzate dei testi che inducono
a confusione del codice non vengono risolti automaticamente!

L'esempio della query l'ho fatto perchè nel caso specifico del Cookbook
il riferimento è alla sintassi SQL.
Per esempio se dovessi creare una tabella, eseguo la seguente stringa;

CREATE TABLE (id serial, nome text);

la tabella avrà due campi [id] e [nome]. Se modifichi il campo [nome] e
lo rinomini in [end] la query non viene eseguita perchè END è una
cosiddetta reserved word per il linguaggio SQL!

COmunque, nell'eventualità mi venisse in mente qualcosa ti faccio sapere
tempestivamente e grazie per quello che stai facendo perchè presuppongo
che lo metterai a disposizione della comunità, vero?

Saluti






Il giorno gio, 08/03/2012 alle 20.32 +0100, Pasquale Di Donato ha
scritto:
> Si ho capito... ma come traduco?
> Voi siete sicuramente più "sviluppisti" di me...come lo traducete?
> 
> gr...
> 
> Il giorno 08 marzo 2012 19:25, <a.furieri a lqt.it> ha scritto:
>         On Thu, 08 Mar 2012 19:01:43 +0100, Salvatore Larosa wrote:
>         
>                 Il giorno gio, 08/03/2012 alle 18.11 +0100, Pasquale
>                 Di Donato ha
>                 
>                         "The names are not escaped."
>                 la seguente query è giusta:
>                 
>                 
>                 SELECT * FROM table WHERE prov = 'L\'Aquila'
>                 
>                 Un'altra soluzione potrebbe essere quella di
>                 aggiungere un "e"
>                 all'inizio del nome del valore:
>                 
>                 SELECT * FROM table WHERE prov = e'L'Aquila'
>                 
>                 Quindi "The names are not escaped." sta ad avvisare lo
>                 sviluppatore
>                 che, nel caso vengono utilizzati nomi per i campi che
>                 portano ad
>                 ambiguità (per esempio "END"  et al) SQL si strozza!
>                 
>                 
>         
>         veramente, in termini strettamente SQL non mi torna troppo:
>         ignoro se poi Python ci mette "del valore aggiunto" tutto di
>         suo ;-)
>         
>         la regola SQL "dura e pura" dice che i text-literal devono
>         essere
>         recchiusi tra apici ('): p.es.
>         WHERE prov = 'Pescara'
>         
>         se il text-literal contiene a sua volta il carattere apice
>         ('),
>         allora quest'ultimo va ripetuto per due volte consecutive:
>         p.es.
>         
>         WHERE prov = 'L''Aquila'
>         
>         
>         ciao Sandro
>         
>         _______________________________________________
>         Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
>         Gfoss a lists.gfoss.it
>         http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>         Questa e' una lista di discussione pubblica aperta a tutti.
>         Non inviate messaggi commerciali.
>         I messaggi di questa lista non rispecchiano necessariamente
>         le posizioni dell'Associazione GFOSS.it.
>         569 iscritti al 4.1.2012
> 
> 




Maggiori informazioni sulla lista Gfoss