Forum
>>
Programmazione Python
>>
Database
>>
scrivere un valore ottenuto in un database
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.
Scritto da Andrea Ubaldi |
2018-03-07 20:55:23 - Re: scrivere un valore ottenuto in un database
|
Effettuato le correzioni. Sono bloccato nella scrittura dell'intera lista q. Scrive nel db solo q0(che è giusto perché nella query richiedo di scrivere solo il valore con indice 0 della lista q). Perché dici che mi scrive solamente quando i == 14?? Mi puoi spiegare gentilmente perché probabilmente non riesco a vedere un errore scritto da me. Grazieeeee
--- Ultima modifica di Andrea Ubaldi in data 2018-03-07 20:56:08 --- |
|
Scritto da Daniele aka Palmux |
2018-03-08 09:29:58 - Re: scrivere un valore ottenuto in un database
|
Temo di aver capito male infatti, Il tuo scopo è inserire solamente al verificarsi di i == 14, in tutti gli altri casi no, giusto?
Quindi quello che credevo io era che volessi inserire ad ogni passaggio, quindi una cosa del genere: [...] if ord(char): output = int("0x"+str(ord(char)),base=16) + 1 #conversione del valore in intero valore = chr(output) i += 1 if i in [1,2,3,...]: lista.append(valore) elif i == 14: i = 0 print lista curs.execute ("""insert into nome_tabella(nome_colonna) values(%s)""", lista[0]) db.commit() print "comando inviato"Ma ovviamente la tua intenzione è inserire il tutto esattamente al verificarsi di i == 14, allora il tuo script è indentato nella maniera corretta. NOTA: Per aggiungere un valore ad una lista, devi usare il metodo .append() come ti ho mostrato nello script, e non c'è bisogno di creare sempre una lista nuova. NOTA 2: Potresti non usare quella sbrodolata di if ed elif, ma semplicemente una cosa del tipo if i in [1,2,3,n]. Così si riduce tutto in attimo non trovi? NOTA 3: Visto che stai iniziando ora, usa Python 3. Cya Cya |
|
Scritto da Andrea Ubaldi |
2018-03-08 13:30:52 - Re: scrivere un valore ottenuto in un database
|
[...] curs.execute ("""insert into nome_tabella(nome_colonna) values(%s)""", lista[0]) db.commit() print "comando inviato" Cosi facendo non vado ad inserire solamente il valore con indice 0 della lista (il primo valore dell'intera lista composta di 13 valori)?
Suggerimento straccettato e ovviamente farò queste modifiche perché senza dubbio è più semplice da leggere e più snello. |
|
Scritto da Daniele aka Palmux |
2018-03-08 14:57:47 - Re: scrivere un valore ottenuto in un database
|
Ma quella non l'ho cambiata, ho copiata la tua. Forse è successo qualcosa nel copia ed incolla?
Comunque la risposta è sì (ovviamente). Cya |
|
Scritto da Andrea Ubaldi |
2018-03-08 20:55:04 - Re: scrivere un valore ottenuto in un database
|
ok! perchè è proprio quello che non riesco a risolvere cioè inserire nella query tutti valori contenuti nella lista e non solo un valore. Ho fatto svariate prove ma senza risultato.....
Bene o male lo script mi andava anche se non era snello e logicamente sbaglianto, adesso con le modifiche che mi hai consigliato è molto meglio ma questo è un problema che mi sono portato sempre dietro. Non riesco a trovare la sintassi corretta per dirgli "inserisci la lista completa". Mi stà venendo il dubbio che l'istruzione [values(%s)] non è corretta perchè con %s gli stò dicendo che l'argomento è trattato come e presentato come una stringa e la lista forse non và interpretata come un stringa. Queste sono delle prove che ho effettuato. [...]""", lista[0], lista[1], lista[n]) [...]""", (lista[0], lista[1], lista[n])) [...]""", (lista[0]), (lista[1]), (lista[n]))) |
|
Scritto da Daniele aka Palmux |
2018-03-09 01:55:47 - Re: scrivere un valore ottenuto in un database
|
Facciamo un passo indietro, la tabella nel DB dove tenti di inserire i valori quanti e che tipi di dati ha?
Cya |
|
Scritto da Andrea Ubaldi |
2018-03-09 16:33:00 - Re: scrivere un valore ottenuto in un database
|
ho inserito una cattura come allegato su come è strutturata la tabella.
l'allegato corretto è TABBELA_REV --- Ultima modifica di Andrea Ubaldi in data 2018-03-09 17:12:04 --- |
|
Scritto da Daniele aka Palmux |
2018-03-10 09:23:05 - Re: scrivere un valore ottenuto in un database
|
Pagina: Indietro 1 2
Esegui il login per scrivere una risposta.