Ok, allora facci vedere delle query che hai scritto. Anche a questo proposito ti giro una delle viste che creo per un lavoro: se devi fare qualcosa di dinamico ti conosiglio vivamente le viste. Rimangono nel db sqlite anche quando il programma python termina e da python basta fare un "SELECT * FROM VISTA" Spero anche questo ti possa essere utile:
CREATE VIEW "AnticipiCorretta" AS select QPR_AGENTE As AgenteCodice, AC_RAG_SOCIALE_1 As AgenteRagioneSociale, QPR_NUM_PRATICA Pratica, CQREP_00_STATO As Stato, CQREP_00_ATTRIBUTO As Attributo, julianday(date('now'))-julianday(strftime("%Y-%m-%d",substr(QPRAN_DATA,1,4) || "-" || substr(QPRAN_DATA,5,2) || "-" || substr(QPRAN_DATA,7,2))) As Giorni, NETTO As Netto, QPR_PRODOTTO As Prodotto, prodotti.Descrizione As ProdottoDescrizione, "C/D" As "C/D", "P/P/P" As "P/P/P", QPRAN_PROGRESSIVO As Progressivo, ANTICIPO As Anticipo, QPRAN_MODALITA As Modalita, QPRAN_DATA_STORNO As DataStorno, QPRAN_PROVENIENZA As Provenienza, QPRAN_DESTINATARIO As Destinatario, strftime("%Y-%m-%d",substr(QPRAN_DATA,1,4) || "-" || substr(QPRAN_DATA,5,2) || "-" || substr(QPRAN_DATA,7,2)) As DataErogazione from anticipi LEFT JOIN prodotti ON anticipi.QPR_Prodotto=prodotti.IDCodice INNER JOIN cqrep000f ON anticipi.QPR_NUM_Pratica=cqrep000f.CQREP_00_Pratica WHERE Stato <= 30 and Attributo NOT LIKE 'RT' and DataStorno = 0 ORDER BY AgenteCodice ASC, Giorni DESC Il giorno 05 novembre 2010 09:57, Massimo Capanni <massimo.capa...@gmail.com > ha scritto: > non ho ancora scritto il codice python, proprio perche' prima mi ponevo > questo problema scrivendo a mano le query direttamente su Sqlite, ma > evidentemente stavo sbagliando approccio <:-) > > grazie del suggerimento. > > > Il giorno 05 novembre 2010 09:44, Vittorio Zuccala' < > vittorio.zucc...@gmail.com> ha scritto: > > Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo >> molto veloce! >> Ad ogni modo... >> Puoi fornirci il codice che utilizzi? >> Personalmente non ho trovato questo problema nell'inserimento di dati. >> Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db >> sqlite: magari può esserti utile. >> Occhio: magari devi fare un decode come ti segnalo nel codice >> >> csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '"') >> >> campi=string.split(cnf['tabelle'][i],"\n") >> for j in range(len(campi)): >> campo = re.search('"(.+)".+', campi[j]) >> if campo: >> campi[j]=campo.group(1) >> campi.pop(0) # Elimina il nome della tabella dai campi >> campi.pop(-1) # Elimina la parentesi finale dai campi >> >> >> print "Riempio la tabella %s" % i >> k=0 >> p=1 >> inserisci="INSERT INTO %s VALUES(" % i >> for row in csv_reader: >> l=len(row) >> for m in range(l): >> row[m] = row[m].decode('latin1') >> >> if k == 0: # Controlla che i campi della tabella siano >> uguali a quelli del CSV!!!!!!!!!!! >> for c in range(len(row)): >> if row[c] == campi[c]: >> inserisci = "%s %s" % (inserisci,"?, ") >> else: >> print "DEVI CAMBIARE LA DEFINIZIONE IN >> CONFIGURAZIONE DI CREAZIONE TABELLA %s" % row[c] >> else: >> dimensione=len(inserisci)-2 >> inserisci = inserisci[0:dimensione] # Inserendo "?, " >> cancello l'ultima occorrenza di ", " >> inserisci = "%s %s" % (inserisci, ")") >> cur.execute(inserisci,row) >> if k==300: >> print "Ho finito di aggiungere %d record" % (k*p) >> p=p+1 >> k=1 >> k=k+1 >> >> con.commit() >> >> >> >> Il giorno 05 novembre 2010 09:33, Massimo Capanni < >> massimo.capa...@gmail.com> ha scritto: >> >>> Buongiorno, >>> >>> forse e' una sciocchezza ma faccio lo stesso questa domanda: >>> sto cercando di implementare un semplice database con Sqlite, >>> e sto facendo alcune prove a mano direttamente con Sqlite stesso. >>> >>> Il database di prova contiene una tabella del genere: >>> >>> pippo (a integer primary key autoincrement, b text, c text); >>> >>> Cerco di inserire del testo a caso da qualche testo ma, se >>> nella copia sono presenti doppi apici o singoli apici Sqlite >>> mi comunica che non è correttamente identato. Secondo >>> voi dovrei implementare un controllo dell'identazione degli >>> apici prima dell'inserimento, con una funzione Python, >>> oppure esiste una funzione che automaticamente risolve >>> questo problema durante l'input? >>> >>> a presto, >>> >>> massimo >>> >>> _______________________________________________ >>> Python mailing list >>> Python@lists.python.it >>> http://lists.python.it/mailman/listinfo/python >>> >>> >> >> _______________________________________________ >> Python mailing list >> Python@lists.python.it >> http://lists.python.it/mailman/listinfo/python >> >> >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python