يبدو أن هنالك بضعة أخطاء في الكود الذي أرفقته، فيجب استخدام طريقة ()execute لتنفيذ استعلام SQL لإدخال القيم إلى الجدول، وعند استخدامها للإدخال يجب توفير قائمة من القيم التي تريد إدخالها، واستخدامها يكون مع إستعلام SQL لإنشاء الجدول.
لقد قمت بتصحيحه وهذا هو الكود الصحيح:
#استدعاء المكتبات
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import sqlite3
#انشاء البرنامج
app = QtWidgets.QApplication(sys.argv)
#انشاء النافذة
w = QtWidgets.QWidget()
#حقول الادخال
e1 = QtWidgets.QLineEdit(w)
e1.move(200, 150)
e1.resize(400, 40)
e1.setStyleSheet("background-color: white ;font-size: 20px")
#الازرار
b1 = QtWidgets.QPushButton("اضافة", w)
b1.move(40, 40)
b1.resize(400, 50)
b1.setStyleSheet("background-color: yellow ;font-size: 24px")
# انشاء قاعدة بيانات والجدول
db = sqlite3.connect("name.db")
c = db.cursor()
c.execute("CREATE TABLE IF NOT EXISTS names(name TEXT)")
#الحصول على القيمة من حقول الادخال واضافتها الى الجدول
def add():
a1 = e1.text()
e1.clear()
c.execute("INSERT INTO names(name) VALUES(?)", (a1,))
db.commit()
b1.clicked.connect(add)
db.close()
w.show()
app.exec_()
بحيث قمت بتعديل الجزء الذي يضيف القيمة إلى الجدول بحيث يكون في الشكل الصحيح، كما قمت للتأكد من أن الجدول موجود بإضافة جملة: 'CREATE TABLE IF NOT EXISTS' أو يتم إنشاؤه إذا لم يكن موجودا بالفعل.