Verileri sql veri tabanına atamıyorum

Qt designer ile bir şablon oluşturdum ve spyder yardımı ile kod işlerini halletmeye çalışıyorum.

#--------------kütüphane----------------------#
#---------------------------------------------#
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from takipprojeUI import *
#----------uygulama olustur----------------#
Uygulama=QApplication(sys.argv)
penAna=QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(penAna)
penAna.show()
#-------------------------veri tabanı oluştur------------------#
import sqlite3 as sql
vt = sql.connect('genel.sqlite')
imlec = vt.cursor()
imlec.execute("CREATE TABLE IF NOT EXISTS geneL (ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,AD TEXT NOT NULL,SOYAD TEXT NOT NULL,TCKN TEXT NOT NULL UNIQUE, DOGUM TEXT NOT NULL,TELEFON TEXT NOT NULL,ADRES TEXT NOT NULL,MAIL TEXT NOT NULL,MEDENI TEXT NOT NULL,COCUK TEXT NOT NULL,MEVKII TEXT NOT NULL, EScalisma TEXT NOT NULL)")
#------------------------------EKLE-----------------------------#
def EKLE ():
        _lneAD=ui.lneAD.Text()
        _lneSOYAD=ui.lneSOYAD.Text()
        _lneTCK=ui.lneTCK.text()
        _lneDOGTAR=ui.lneDOGTAR.text()
        _lneTEL=ui.lneTEL.text()
        _lneADRES=ui.lneADRES.text()
        _lneEMAIL=ui.lneEMAIL.text()
        _cmbMEDEN=ui.cmbMEDEN.currentText()
        _spnCOCUK=ui.spnCOCUK.value()
        _comMEVKI=ui.comMEVKI.currentText()

        if ui.chkES.isChecked():
            _esCalisma="calisiyor"
        else:
            _esCalisma="calismiyor"


_cwBASLAMA=ui.cwBASLAMA.selectdate().toString(QtCore.Qt.ISODate)
imlec.execute("INSERT INTO genel (AD,SOYAD,TCKN,DOGUM,TELEFON,ADRES,MAIL,MEDENI,COCUK,MEVKII,EScalisma,) VALUES (?,?,?,?,?,?,?,?,?,?,?)", \ (_lneAD,_lneSOYAD,_lneTCK,_lneDOGTAR,_lneTEL,_lneADRES,_lneEMAIL,_cmbMEDEN,_spnCOCUK,_comMEVKI,_esCalisma))     
vn.commit()
#-----------------sinyalslot-----------------------#
ui.btnEKLE.clicked.connect(EKLE)
sys.exit(Uygulama.exec_())

şuan kodları bu şekilde yazdım fakat çalıştırdığımda oluşturduğum form çıkıyor ve yanıt vermiyor hatası alıyorum

sys.exit(Uygulama.exec_())

bu kodu uygulama oluştur başlığı altına alınca sorunsuz açılıyor verilerimi giriyorum fakat bu sefer de ekleye bastığımda veri tabanıma herhangi bir şey eklenmiyor.

pythonda çok yeniyim yardım ederseniz sevinirim.

öncelikle
hoşgeldiniz :partying_face:
sonra kodlarınızı iki tane ```` arasına yazın daha iyi olur daha iyi bir görünümü olur

1 Beğeni

Hoşbuldum teşekkür ederim düzeltebildim galiba :blush:

Merhaba, hoş geldiniz.

EKLE isimli fonksiyonun içinde tanımladığınız değişkenler yalnızca fonksiyon içinde tanımlıdır, bu yüzden bu değişkenleri ya global hale getirmeniz ya da bir class tanımlayıp, değişkenleri örnek niteliği haline getirmeniz ve böylece bu niteliklerin sınıf içerisinde erişilebilir olmasını sağlamanız gerekiyor.

1 Beğeni

Merhaba hocam, hoşbuldum yanıtınız için teşekkür ederim :blush:

Elimde qt designer ile tasarladığım bir arayüz var buraya girilen verilerin ekle butonuna basıldığında sql eklenmesini istiyorum.

ui.btnEKLE.clicked.connect(EKLE)

Dediğiniz gibi fonksiyon içine yazdım butona basınca çalılsın diye de yukardaki şu kodu yazdım yine hata burdan mı?

Tespit edebildiğim hatalar şunlar:

  1. commit ettiğiniz satırda vn.commit() yazmışsınız, oysa vn diye bir değişken ismi yok. vt yazmanız lazımdı.
  2. ui.btnEKLE.clicked.connect(EKLE) ifadesinin fonksiyon içine yazılması bir şey ifade etmiyor. Ekle fonksiyonunun içine sql deyimini yazmanız lazım.

ui dosyası bende olmadığı için kodunuzu çalıştıramıyorum. Ama aşağıdaki gibi bir değişiklik yaptım. Bir çalıştırın isterseniz. Olmazsa ui dosyasını gönderin bir bakalım,

#--------------kütüphane----------------------#
#---------------------------------------------#
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from takipprojeUI import *
#----------uygulama olustur----------------#
Uygulama=QApplication(sys.argv)
penAna=QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(penAna)
penAna.show()
#-------------------------veri tabanı oluştur------------------#
import sqlite3 as sql
vt = sql.connect('genel.sqlite')
imlec = vt.cursor()
imlec.execute("CREATE TABLE IF NOT EXISTS geneL (ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,AD TEXT NOT NULL,SOYAD TEXT NOT NULL,TCKN TEXT NOT NULL UNIQUE, DOGUM TEXT NOT NULL,TELEFON TEXT NOT NULL,ADRES TEXT NOT NULL,MAIL TEXT NOT NULL,MEDENI TEXT NOT NULL,COCUK TEXT NOT NULL,MEVKII TEXT NOT NULL, EScalisma TEXT NOT NULL)")
#------------------------------EKLE-----------------------------#
def EKLE ():
    _lneAD=ui.lneAD.Text()
    _lneSOYAD=ui.lneSOYAD.Text()
    _lneTCK=ui.lneTCK.text()
    _lneDOGTAR=ui.lneDOGTAR.text()
    _lneTEL=ui.lneTEL.text()
    _lneADRES=ui.lneADRES.text()
    _lneEMAIL=ui.lneEMAIL.text()
    _cmbMEDEN=ui.cmbMEDEN.currentText()
    _spnCOCUK=ui.spnCOCUK.value()
    _comMEVKI=ui.comMEVKI.currentText()
    if ui.chkES.isChecked():
        _esCalisma="calisiyor"
    else:
        _esCalisma="calismiyor"
    imlec.execute(
        "INSERT INTO genel VALUES (?,?,?,?,?,?,?,?,?,?,?)", 
        (
            _lneAD, _lneSOYAD, _lneTCK, _lneDOGTAR, _lneTEL, _lneADRES,
            _lneEMAIL, _cmbMEDEN, _spnCOCUK, _comMEVKI, _esCalisma
        )
    )
    vt.commit()

_cwBASLAMA = ui.cwBASLAMA.selectdate().toString(QtCore.Qt.ISODate)
     
#-----------------sinyalslot-----------------------#
ui.btnEKLE.clicked.connect(EKLE)
sys.exit(Uygulama.exec_())
1 Beğeni

hocam çok teşekkür ediyorum

düzenlediğiniz kodu çalıştırdım fakat yanıt vermiyor hatası alıyorum.

sys.exit(Uygulama.exec_())

bu kodu en sona yazınca bu şekilde davranıyor üste uygulama oluştur bölümüne yazınca arayüz geliyor fakat bu sefer de ekleye basınca veri tabanına ekleme yapmıyor. ben işin içinden çıkamadım rica etsem bi bakarmısınız.
ui kodlarını da ekliyorum.

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'takipproje.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1117, 899)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(50, 30, 631, 351))
        self.groupBox.setObjectName("groupBox")
        self.label_6 = QtWidgets.QLabel(self.groupBox)
        self.label_6.setGeometry(QtCore.QRect(330, 40, 81, 16))
        self.label_6.setObjectName("label_6")
        self.cwBASLAMA = QtWidgets.QCalendarWidget(self.groupBox)
        self.cwBASLAMA.setGeometry(QtCore.QRect(330, 60, 281, 183))
        self.cwBASLAMA.setObjectName("cwBASLAMA")
        self.widget = QtWidgets.QWidget(self.groupBox)
        self.widget.setGeometry(QtCore.QRect(0, 30, 278, 304))
        self.widget.setObjectName("widget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label = QtWidgets.QLabel(self.widget)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.lneAD = QtWidgets.QLineEdit(self.widget)
        self.lneAD.setObjectName("lneAD")
        self.horizontalLayout.addWidget(self.lneAD)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_2 = QtWidgets.QLabel(self.widget)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_2.addWidget(self.label_2)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.lneSOYAD = QtWidgets.QLineEdit(self.widget)
        self.lneSOYAD.setObjectName("lneSOYAD")
        self.horizontalLayout_2.addWidget(self.lneSOYAD)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_3 = QtWidgets.QLabel(self.widget)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_3.addWidget(self.label_3)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem2)
        self.lneTCK = QtWidgets.QLineEdit(self.widget)
        self.lneTCK.setMaxLength(11)
        self.lneTCK.setObjectName("lneTCK")
        self.horizontalLayout_3.addWidget(self.lneTCK)
        self.verticalLayout.addLayout(self.horizontalLayout_3)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.label_4 = QtWidgets.QLabel(self.widget)
        self.label_4.setObjectName("label_4")
        self.horizontalLayout_4.addWidget(self.label_4)
        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem3)
        self.lneDOGTAR = QtWidgets.QLineEdit(self.widget)
        self.lneDOGTAR.setObjectName("lneDOGTAR")
        self.horizontalLayout_4.addWidget(self.lneDOGTAR)
        self.verticalLayout.addLayout(self.horizontalLayout_4)
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.label_9 = QtWidgets.QLabel(self.widget)
        self.label_9.setObjectName("label_9")
        self.horizontalLayout_5.addWidget(self.label_9)
        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem4)
        self.lneTEL = QtWidgets.QLineEdit(self.widget)
        self.lneTEL.setObjectName("lneTEL")
        self.horizontalLayout_5.addWidget(self.lneTEL)
        self.verticalLayout.addLayout(self.horizontalLayout_5)
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.label_8 = QtWidgets.QLabel(self.widget)
        self.label_8.setObjectName("label_8")
        self.horizontalLayout_6.addWidget(self.label_8)
        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem5)
        self.lneADRES = QtWidgets.QLineEdit(self.widget)
        self.lneADRES.setObjectName("lneADRES")
        self.horizontalLayout_6.addWidget(self.lneADRES)
        self.verticalLayout.addLayout(self.horizontalLayout_6)
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.label_10 = QtWidgets.QLabel(self.widget)
        self.label_10.setObjectName("label_10")
        self.horizontalLayout_7.addWidget(self.label_10)
        spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_7.addItem(spacerItem6)
        self.lneEMAIL = QtWidgets.QLineEdit(self.widget)
        self.lneEMAIL.setObjectName("lneEMAIL")
        self.horizontalLayout_7.addWidget(self.lneEMAIL)
        self.verticalLayout.addLayout(self.horizontalLayout_7)
        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.label_11 = QtWidgets.QLabel(self.widget)
        self.label_11.setObjectName("label_11")
        self.horizontalLayout_8.addWidget(self.label_11)
        spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_8.addItem(spacerItem7)
        self.cmbMEDEN = QtWidgets.QComboBox(self.widget)
        self.cmbMEDEN.setObjectName("cmbMEDEN")
        self.cmbMEDEN.addItem("")
        self.cmbMEDEN.addItem("")
        self.horizontalLayout_8.addWidget(self.cmbMEDEN)
        self.verticalLayout.addLayout(self.horizontalLayout_8)
        self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.label_12 = QtWidgets.QLabel(self.widget)
        self.label_12.setObjectName("label_12")
        self.horizontalLayout_9.addWidget(self.label_12)
        spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_9.addItem(spacerItem8)
        self.spnCOCUK = QtWidgets.QSpinBox(self.widget)
        self.spnCOCUK.setMaximum(10)
        self.spnCOCUK.setObjectName("spnCOCUK")
        self.horizontalLayout_9.addWidget(self.spnCOCUK)
        self.verticalLayout.addLayout(self.horizontalLayout_9)
        self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
        self.label_7 = QtWidgets.QLabel(self.widget)
        self.label_7.setObjectName("label_7")
        self.horizontalLayout_10.addWidget(self.label_7)
        spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_10.addItem(spacerItem9)
        self.comMEVKI = QtWidgets.QComboBox(self.widget)
        self.comMEVKI.setObjectName("comMEVKI")
        self.comMEVKI.addItem("")
        self.comMEVKI.addItem("")
        self.comMEVKI.addItem("")
        self.comMEVKI.addItem("")
        self.comMEVKI.addItem("")
        self.horizontalLayout_10.addWidget(self.comMEVKI)
        self.verticalLayout.addLayout(self.horizontalLayout_10)
        self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
        self.label_13 = QtWidgets.QLabel(self.widget)
        self.label_13.setObjectName("label_13")
        self.horizontalLayout_11.addWidget(self.label_13)
        spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_11.addItem(spacerItem10)
        self.chkES = QtWidgets.QCheckBox(self.widget)
        self.chkES.setObjectName("chkES")
        self.horizontalLayout_11.addWidget(self.chkES)
        self.verticalLayout.addLayout(self.horizontalLayout_11)
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(30, 390, 1071, 441))
        self.tableWidget.setRowCount(100)
        self.tableWidget.setColumnCount(13)
        self.tableWidget.setObjectName("tableWidget")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(60, 840, 131, 16))
        self.label_5.setObjectName("label_5")
        self.label_14 = QtWidgets.QLabel(self.centralwidget)
        self.label_14.setGeometry(QtCore.QRect(180, 840, 47, 13))
        self.label_14.setText("")
        self.label_14.setObjectName("label_14")
        self.widget1 = QtWidgets.QWidget(self.centralwidget)
        self.widget1.setGeometry(QtCore.QRect(690, 40, 131, 191))
        self.widget1.setObjectName("widget1")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.btnEKLE = QtWidgets.QPushButton(self.widget1)
        self.btnEKLE.setObjectName("btnEKLE")
        self.verticalLayout_2.addWidget(self.btnEKLE)
        self.btnGUNCELLE = QtWidgets.QPushButton(self.widget1)
        self.btnGUNCELLE.setObjectName("btnGUNCELLE")
        self.verticalLayout_2.addWidget(self.btnGUNCELLE)
        self.btnARA = QtWidgets.QPushButton(self.widget1)
        self.btnARA.setObjectName("btnARA")
        self.verticalLayout_2.addWidget(self.btnARA)
        self.btnSIL = QtWidgets.QPushButton(self.widget1)
        self.btnSIL.setObjectName("btnSIL")
        self.verticalLayout_2.addWidget(self.btnSIL)
        self.btnCIK = QtWidgets.QPushButton(self.widget1)
        self.btnCIK.setObjectName("btnCIK")
        self.verticalLayout_2.addWidget(self.btnCIK)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1117, 21))
        self.menubar.setObjectName("menubar")
        self.menuAnasayfa = QtWidgets.QMenu(self.menubar)
        self.menuAnasayfa.setObjectName("menuAnasayfa")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.menuMAASHESAP = QtWidgets.QAction(MainWindow)
        self.menuMAASHESAP.setObjectName("menuMAASHESAP")
        self.actiondeneme = QtWidgets.QAction(MainWindow)
        self.actiondeneme.setObjectName("actiondeneme")
        self.actionMaa_Bilgileri = QtWidgets.QAction(MainWindow)
        self.actionMaa_Bilgileri.setObjectName("actionMaa_Bilgileri")
        self.menubar.addAction(self.menuAnasayfa.menuAction())

        self.retranslateUi(MainWindow)
        self.cmbMEDEN.setCurrentIndex(-1)
        self.comMEVKI.setCurrentIndex(-1)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.groupBox.setTitle(_translate("MainWindow", "Personel"))
        self.label_6.setText(_translate("MainWindow", "İşe Giriş Tarihi :"))
        self.label.setText(_translate("MainWindow", "Adı :"))
        self.label_2.setText(_translate("MainWindow", " Soyadı :"))
        self.label_3.setText(_translate("MainWindow", " T.C. Kimlik No :"))
        self.label_4.setText(_translate("MainWindow", "Doğum Tarihi :"))
        self.label_9.setText(_translate("MainWindow", "Telefon numarası :"))
        self.label_8.setText(_translate("MainWindow", "Adresi :"))
        self.label_10.setText(_translate("MainWindow", "Mail Adresi :"))
        self.label_11.setText(_translate("MainWindow", "Medeni Hali :"))
        self.cmbMEDEN.setItemText(0, _translate("MainWindow", "Evli"))
        self.cmbMEDEN.setItemText(1, _translate("MainWindow", "Bekar"))
        self.label_12.setText(_translate("MainWindow", "Çocuk Sayısı : "))
        self.label_7.setText(_translate("MainWindow", "mevkii :"))
        self.comMEVKI.setItemText(0, _translate("MainWindow", "Makineci"))
        self.comMEVKI.setItemText(1, _translate("MainWindow", "Ortacı"))
        self.comMEVKI.setItemText(2, _translate("MainWindow", "Ütücü"))
        self.comMEVKI.setItemText(3, _translate("MainWindow", "Kalite-kontrol"))
        self.comMEVKI.setItemText(4, _translate("MainWindow", "Ustabaşı"))
        self.label_13.setText(_translate("MainWindow", "Eş Çalışma Durumu :"))
        self.chkES.setText(_translate("MainWindow", "çalışıyor"))
        self.label_5.setText(_translate("MainWindow", "Kayıtlı Personel Sayıs :"))
        self.btnEKLE.setText(_translate("MainWindow", "Kayıt Ekle"))
        self.btnGUNCELLE.setText(_translate("MainWindow", "Kayıt Güncelle"))
        self.btnARA.setText(_translate("MainWindow", "Kayıt Ara"))
        self.btnSIL.setText(_translate("MainWindow", "Kayıt Sil"))
        self.btnCIK.setText(_translate("MainWindow", "Çıkış"))
        self.menuAnasayfa.setTitle(_translate("MainWindow", "Anasayfa"))
        self.menuMAASHESAP.setText(_translate("MainWindow", "Maaş Bilgi Sistemi"))
        self.actiondeneme.setText(_translate("MainWindow", "deneme"))
        self.actionMaa_Bilgileri.setText(_translate("MainWindow", "Maaş Bilgileri"))

Program hata veriyor olabilir. Ciktisini (yazi olan, resimde gozukuyor gibi) da gozden gecir ve/veya paylas.

Yazdığınız kodda birden çok hata var aslında.

ui dosyasını indirdim, programı çalıştırdığımda hemen şöyle bir hata aldım.

Traceback (most recent call last):
  File "/home/tanberk/Python/a1.py", line 46, in <module>
    _cwBASLAMA = ui.cwBASLAMA.selectdate().toString(QtCore.Qt.ISODate)
AttributeError: 'QCalendarWidget' object has no attribute 'selectdate'

Sonra bu kısmı yorum satırına aldım, tekrar bir çalıştırayım dedim. Bu kez ana ekran açıldı.

Resimde gördüğünüz gibi, kutucukları doldurdum sonra Kayıt Ekle tuşuna tıkladığımda aşağıdaki gibi bir hata aldım.

Traceback (most recent call last):
  File "/home/tanberk/Python/a1.py", line 23, in EKLE
    _lneAD=ui.lneAD.Text()
AttributeError: 'QLineEdit' object has no attribute 'Text'

Kutulardaki değerleri almak için yazdığınız Text yerine text yazılması gerekiyor. Bu kısmı düzelttim. Sonra kodu tekrar çalıştırdım bu sefer şöyle bir hata aldım.

Traceback (most recent call last):
  File "/home/tanberk/Python/a1.py", line 37, in EKLE
    imlec.execute(
sqlite3.OperationalError: table genel has 12 columns but 11 values were supplied

Bu hatayı, 12 tane sütun için 12 değer yazmanız gerekirken 11 tane yazdığınız için alıyorsunuz. Veritabanının ilk sütunu ID isminde bir sütun. Bunun için de bir değer tahsis etmelisiniz.

Ben de bu yüzden fonksiyonu şöyle değiştirdim:

def EKLE ():
    _id = len([i for i in imlec.execute("SELECT ID FROM geneL")]) + 1
    _lneAD=ui.lneAD.text()
    _lneSOYAD=ui.lneSOYAD.text()
    _lneTCK=ui.lneTCK.text()
    _lneDOGTAR=ui.lneDOGTAR.text()
    _lneTEL=ui.lneTEL.text()
    _lneADRES=ui.lneADRES.text()
    _lneEMAIL=ui.lneEMAIL.text()
    _cmbMEDEN=ui.cmbMEDEN.currentText()
    _spnCOCUK=ui.spnCOCUK.value()
    _comMEVKI=ui.comMEVKI.currentText()
    if ui.chkES.isChecked():
        _esCalisma="calisiyor"
    else:
        _esCalisma="calismiyor"
    imlec.execute(
        "INSERT INTO genel VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", 
        (
            _id, _lneAD, _lneSOYAD, _lneTCK, _lneDOGTAR, _lneTEL, _lneADRES,
            _lneEMAIL, _cmbMEDEN, _spnCOCUK, _comMEVKI, _esCalisma
        )
    )
    vt.commit()

Ve sorun çözüldü. Kayıt veritabanına başarıyla eklendi. Şu halde bende çalışan kodlar şu şekilde:

#--------------kütüphane----------------------#
#---------------------------------------------#
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from takipprojeUI import *
#----------uygulama olustur----------------#
Uygulama=QApplication(sys.argv)
penAna=QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(penAna)
penAna.show()
#-------------------------veri tabanı oluştur------------------#
import sqlite3 as sql
vt = sql.connect('genel.sqlite')
imlec = vt.cursor()
imlec.execute("CREATE TABLE IF NOT EXISTS geneL (ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,AD TEXT NOT NULL,SOYAD TEXT NOT NULL,TCKN TEXT NOT NULL UNIQUE, DOGUM TEXT NOT NULL,TELEFON TEXT NOT NULL,ADRES TEXT NOT NULL,MAIL TEXT NOT NULL,MEDENI TEXT NOT NULL,COCUK TEXT NOT NULL,MEVKII TEXT NOT NULL, EScalisma TEXT NOT NULL)")
#------------------------------EKLE-----------------------------#



def EKLE ():
    _id = len([i for i in imlec.execute("SELECT ID FROM geneL")]) + 1
    _lneAD=ui.lneAD.text()
    _lneSOYAD=ui.lneSOYAD.text()
    _lneTCK=ui.lneTCK.text()
    _lneDOGTAR=ui.lneDOGTAR.text()
    _lneTEL=ui.lneTEL.text()
    _lneADRES=ui.lneADRES.text()
    _lneEMAIL=ui.lneEMAIL.text()
    _cmbMEDEN=ui.cmbMEDEN.currentText()
    _spnCOCUK=ui.spnCOCUK.value()
    _comMEVKI=ui.comMEVKI.currentText()
    if ui.chkES.isChecked():
        _esCalisma="calisiyor"
    else:
        _esCalisma="calismiyor"
    imlec.execute(
        "INSERT INTO genel VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", 
        (
            _id, _lneAD, _lneSOYAD, _lneTCK, _lneDOGTAR, _lneTEL, _lneADRES,
            _lneEMAIL, _cmbMEDEN, _spnCOCUK, _comMEVKI, _esCalisma
        )
    )
    vt.commit()

# _cwBASLAMA = ui.cwBASLAMA.selectdate().toString(QtCore.Qt.ISODate)
     
#-----------------sinyalslot-----------------------#
ui.btnEKLE.clicked.connect(EKLE)
sys.exit(Uygulama.exec_())

Bu arada, veritabanından bir satır sildiğinizde, id’nizin, unique olmama ihtimali çok yüksek. Bu duruma bir çözüm getirmeniz gerekiyor.

2 Beğeni

değerli hocam çok teşekkür ediyorum daha yeni başladım ve işin içinden bir türlü çıkamamıştım şuan dediklerinizi uygulayınca sorunsuz çalıştı çok teşekkür ediyorum. büyük iyilik oldu.

1 Beğeni

Arada bundan sonra karsina cikacak butun hatalari cozmeye baslamanin yolu yaziyor, orayi kacirdin degil mi?

1 Beğeni

Teşekkür ederim hocam orayı da anladım. Bize ne gerektiğini söylüyormuş zaten.

1 Beğeni