0
0 комментариев

[apcode language=»python»]

Выдает ошибку:TypeError: ‘NoneType’ object is not subscriptable
Помогите решить :(

import sqlite3
import datetime
from tkinter import *
 link = sqlite3.connect("mydb.db")
cursor = link.cursor()
  cursor.execute("""CREATE TABLE IF NOT EXISTS albums (
                   id INT,
                   title VARCHAR(25), 
                   artist VARCHAR(25), 
                   release_date VARCHAR(25),
                   publisher VARCHAR(25), 
                   media_type VARCHAR(25),
                   PRIMARY KEY (id)
                ) """)
 link.commit()
 root = Tk()
root.title("Добавление данных в таблицу")
root.geometry("351x151+300+300")
 def insertData():
    cursor.execute("""SELECT MAX(id) FROM albums""")
    last_id = cursor.fetchone()[0]
     now = datetime.datetime.now().strftime("%d-%m-%Y")
    cursor.execute("""INSERT INTO albums
                      VALUES (
                      '?',
                      '?', 
                      '?', 
                      '?',
                      '?', 
                      '?')""" % (
                            last_id,          #Добавляем новый элемент с ID + 1
                            Name.get(),        #Добавляем название песни
                            Art.get(),       #Добавляем исполнителя
                            str(now),           #Добавляем текущую дату
                            publisher['text'],    #Добавляем издателя
                            media_type['text']  #Добавляем тип файла
                      )
                   )
     link.commit()
     print("Данные успешно добавлены!")
Add_name = Label(root, text='Добавить имя')
Add_name.grid(row=0, column=0)
Name  = Entry()
Name.grid(row=1, column=0)
 Add_Art = Label(root, text='Добавить артиста')
Add_Art.grid(row=2, column=0)
Art  = Entry()
Art.grid(row=3, column=0)
     def state(): print(Name.get(),Art.get(),var1.get(),pub.get() )
 """
== TODO
* Создать интерфейс пользователя:
** Entry для ввода названия
** Entry для ввода артиста
** OptionMenu - для ввода формата файла
*** форматы: "MP3", "WAV", "WMA", "OGG"
** Button для записи данных в БД
"""
 #title 		|Entry|
#artist		|Entry|
 #publisher 	|OptionMenu|
pubOpt = ["Xplore", "Spinnin", "RusRec", "Records"]
pub = StringVar()
pub.set(pubOpt[0])
 medOpt = ['MP3', 'WAV','WMA','OGG']
var1 = StringVar()
var1.set(medOpt[0])
 media_type = OptionMenu(root, var1, 'MP3', 'WAV','WMA','OGG').grid(row=1, column=1)
publisher = OptionMenu(root, pub,*pubOpt).grid(row=1, column=2)
Button(root, command=insertData, text='Добавить в бд').grid(row=3, column=2)
#media_type	|OptionMenu|
#submit		|Button| command=insertData
 #pack: 
#/*title 
#/*artist 
#/*publisher 
#/*media_type 
#/*submit 
 root.mainloop()

[/apcode]

Решенный вопрос
Добавить комментарий