2017-04-15 4 views
0

Fehler: sqlite3.OperationalError: Tabelle zarada hat 13 Spalten aber 14 WertePython sqlite3.OperationalError

backend1.py geliefert wurden:

import sqlite3 

def konekcija(): 
    conn=sqlite3.connect("zarada.db") 
    cur=conn.cursor() 
    cur.execute("CREATE TABLE IF NOT EXISTS zarada (id INTEGER PRIMARY KEY, ime TEXT, prezime TEXT, JMBG TEXT, neto DECIMAL, bruto DECIMAL, pioZaposleni DECIMAL, pioPoslodavac DECIMAL, zdravstvoZaposleni DECIMAL, zdravstvoPoslodavac DECIMAL, nezaposlenostZaposleni DECIMAL, nezposlensotPoslodavac DECIMAL, porez DECIMAL ukupno DECIMAL)") 
    conn.commit() 
    conn.close() 

def unesi(ime, prezime, jmbg, neto, bruto, pioZaposleni, pioPoslodavac, zdravstvoZaposleni, zdravstvoPoslodavac, nezaposlenostZaposleni, nezposlensotPoslodavac, porez, ukupno): 
    conn=sqlite3.connect("zarada.db") 
    cur=conn.cursor() 
    cur.execute("INSERT INTO zarada VALUES(NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", (ime, prezime, jmbg, neto, bruto, pioZaposleni, pioPoslodavac, zdravstvoZaposleni, zdravstvoPoslodavac, nezaposlenostZaposleni, nezposlensotPoslodavac, porez, ukupno)) 
    conn.commit() 
    conn.close() 

konekcija() 

frontend.py:

def unesiKomanda(): 
    backend1.unesi(imeVar, prezimeVar, jmbgVar,neto, bruto, pioIznos1, pioIznos2, zdravstvoIznos1, zdravstvoIznos2, nezaposlenostIznos1, nezaposlenostIznos2, porezIznos, bruto2iznos) 

wenn Ich ersetze Backend1.unesi mit Druckfunktion, bekomme ich das folgende Ergebnis:

Name LastName idnumber 50000.0 69757.48930099858 9766.048502139802 8370.89871611983 3487.8744650499293 3487.8744650499293 488.3024251069901 488.302425106 
9901 5875.748930099859 81965.04992867332 

Es gibt 13 Werte, und mir fehlt etwas.

+0

ich den Code-Schnipsel entfernt, sie hat nichts mit HTML oder JavaScript zu tun. –

Antwort

0

Sie fehlen Komma hier:

porez DECIMAL ukupno DECIMAL 

Im Wesentlichen sind Sie 13 Spalten erstellen und dann mit 14 Argumenten zu füllen versuchen. Ihre primäre Schlüssel-ID-Spalte zählt auch.

Ihre Abfrage sollte wie folgt aussehen:

cur.execute("CREATE TABLE IF NOT EXISTS zarada (id INTEGER PRIMARY KEY, ime TEXT, prezime TEXT, JMBG TEXT, neto DECIMAL, bruto DECIMAL, pioZaposleni DECIMAL, pioPoslodavac DECIMAL, zdravstvoZaposleni DECIMAL, zdravstvoPoslodavac DECIMAL, nezaposlenostZaposleni DECIMAL, nezposlensotPoslodavac DECIMAL, porez DECIMAL, ukupno DECIMAL)") 
Verwandte Themen