Проверьте, действительно ли в таблице есть следующие столбцы user
: npm, nama, jurusan
; и в таблице presensi
: nama
.
connect.execute("INSERT OR IGNORE INTO user(npm,nama,jurusan) Values("+str(npm)+",' "+str(nama)+" ',' "+str(jurusan)+" ' )")
connect.execute("INSERT OR IGNORE INTO presensi(nama) Values(' "+str(nama)+" ')")
Если вы пытаетесь обновить текстовые столбцы, как это, вы должны окружить значения кавычки т.е. это должно быть ...values('" + str(npm) + "'"...
Однако построение запроса sql, как этот, приводит к возможности атак sql инъекций. Вместо этого лучше использовать параметризованные запросы , используя заполнители:
cur.execute("INSERT OR IGNORE INTO user(npm,nama,jurusan) values(?,?,?)", (str(npm),str(nama),str(jurusan))
cur.execute("INSERT OR IGNORE INTO presensi(nama) values(?)", (str(nama),))