QT Designer Arayüz Formundan Herhangi bir Veritabanına Kayıt Ekleyebilenlerin Dikkatine

Merhaba QT Designer da yapılmış bir arayüz kullanarak herhangi bir veritabanına kayıt ekleyebilen biri var mı acaba bu forumda. SQLite VT programına kayıt eklemede sorun yaşıyorum. Kod içinde yazılan EKLE fonksiyonu video dersinde çalışıyor fakat benim projede hata vermeden sonuçsuz kalıyor. Sorunun kaynağını tespit edemedim. Sorduğum kaynaklardan da herhangi bir dönüş alamadım şu ana kadar.
Aşağıdaki linkte anlatımı yapılan projenin benzeri benim yazdığım kodlar . Fakat VT’nına QT Formundan kaydet butonuyla kayıt ekleyebilmek için videoda anlatılan yöntem benim yazdığım kodlarda çalışmıyor. QT hakkında bilgisi olan İnceleyip fikir verebilirse çok memnun olurum.

# --------------------KUTUPHANELER--------------------
# ----------------------------------------------------

import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon
from UyeKayitFormuUI import *



# --------------------UYGULAMA OLUŞTUR----------------
# ----------------------------------------------------

uygulama = QApplication(sys.argv)
penUyeKayitFormu = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(penUyeKayitFormu)
penUyeKayitFormu.show()


# ------------------VERITABANI OLUŞTUR----------------
# ----------------------------------------------------

import sqlite3

global curs
global conn
conn = sqlite3.connect('Dernek_YS.db')
curs = conn.cursor()
srgCreateTblUye = ('CREATE TABLE IF NOT EXISTS uye(                                                                    \
                   Id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,                                                      \
                   Durum TEXT NOT NULL UNIQUE,                                                                         \
                   UyeNo TEXT NOT NULL UNIQUE,                                                                         \
                   AdiSoyadi TEXT NOT NULL,                                                                            \
                   TcNo TEXT NOT NULL,                                                                                 \
                   Tabiyeti TEXT NOT NULL,                                                                             \
                   DogumTarihi TEXT NOT NULL,                                                                          \
                   DogumYeri TEXT NOT NULL,                                                                            \
                   AnaAdi TEXT NOT NULL,                                                                               \
                   BabaAdi TEXT NOT NULL,                                                                              \
                   Meslegi TEXT NOT NULL,                                                                              \
                   OgrenimDurumu TEXT NOT NULL,                                                                        \
                   SosyalGuvencesi TEXT NOT NULL,                                                                      \
                   KabulTarihi TEXT NOT NULL,                                                                          \
                   KabulKararNo TEXT NOT NULL,                                                                         \
                   IptalTarihi TEXT,                                                                                   \
                   IptalKararNo TEXT,                                                                                  \
                   IptalNedeni TEXT,                                                                                   \
                   CepNo_1 TEXT NOT NULL,                                                                              \
                   CepNo_2 TEXT,                                                                                       \
                   IrtibatNo TEXT,                                                                                     \
                   Ilce TEXT NOT NULL,                                                                                 \
                   Sehir TEXT NOT NULL,                                                                                \
                   E_Mail TEXT,                                                                                        \
                   Aciklama TEXT,                                                                                      \
                   Adress TEXT NOT NULL,                                                                               \
                   AkuluAraba TEXT ,                                                                                   \
                   TekerlekliSandalye TEXT,                                                                            \
                   KanadyenBaston TEXT,                                                                                \
                   Yurutec TEXT,                                                                                       \
                   Protez TEXT,                                                                                        \
                   Ortez TEXT,                                                                                         \
                   KanGrubu TEXT NOT NULL,                                                                             \
                   EngelNedeni TEXT,                                                                                   \
                   EngelYuzdesi TEXT,                                                                                  \
                   IlgilendigiSporlar TEXT)')


curs.execute(srgCreateTblUye)
conn.commit() # Veritabaniyla Baglantiyi Kuruyoruz.


# -----------------------KAYDET-----------------------
# ----------------------------------------------------

def EKLE():
    _cob_Durum = ui.cob_Durum.currentText() # current.item().text() Listelerdeki itemlara ulasma kodu.
    _led_UyeNo = ui.led_UyeNo.text()
    _led_AdiSoyadi = ui.led_AdiSoyadi.text()
    _led_TcNo = ui.led_TcNo.text()
    _led_Tabiyeti = ui.led_Tabiyeti.text()
    _dte_DogumTarihi = ui.dte_DogumTarihi.setCalendar(QCalendarWidget.selectedDate().toString(QtCore.Qt.ISODate))
    _led_DogumYeri = ui.led_DogumYeri.text()
    _led_AnaAdi = ui.led_AnaAdi.text()
    _led_BabaAdi = ui.led_BabaAdi.text()
    _led_Meslegi = ui.led_Meslegi.text()
    _cob_OgrenimDurumu = ui.cob_OgrenimDurumu.currentText()
    _cob_SosyalGuvencesi = ui.cob_SosyalGuvencesi.currentText()
    _dat_KabulTarihi = ui.dat_KabulTarihi.SetCalendar(QCalendarWidget.selectedDate().toString(QtCore.Qt.ISODate))
    _led_KabulKararNo = ui.led_KabulKararNo.text()
    _dat_IptalTarihi = ui.dat_IptalTarihi.setCalendar(QCalendarWidget.selectedDate().toString(QtCore.Qt.ISODate))
    _led_IptalKararNo = ui.led_IptalKararNo.text()
    _led_IptalNedeni = ui.led_IptalNedeni.text()
    _led_CepNo1 = ui.led_CepNo1.text()
    _led_CepNo2 = ui.led_CepNo2.text()
    _led_IrtibatNo = ui.led_IrtibatNo.text()
    _led_Ilce = ui.led_Ilce.text()
    _led_Sehir = ui.led_Sehir.text()
    _led_EMail = ui.led_EMail.text()
    _led_Aciklama = ui.led_Aciklama.text()
    _led_Adres = ui.led_Adres.text()
    if ui.chb_AkuluAraba.isChecked():
        _chb_AkuluAraba = "Var"
    else:
        _chb_AkuluAraba = "Yok"
    if ui.chb_TekerlekliSandalye.isChecked():
        _chb_TekerlekliSandalye = "Var"
    else:
        _chb_TekerlekliSandalye = "Yok"
    if ui.chb_KanadyenBaston.isChecked():
        _chb_KanadyenBaston = "Var"
    else:
        _chb_KanadyenBaston = "Yok"
    if ui.chb_Yurutec.isChecked():
        _chb_Yurutec = "Var"
    else:
        _chb_Yurutec = "Yok"
    if ui.chb_Protez.isChecked():
        _chb_Protez = "Var"
    else:
        _chb_Protez = "Yok"
    if ui.chb_Ortez.isChecked():
        _chb_Ortez = "Var"
    else:
        _chb_Ortez = "Yok"
    _cob_KanGrubu = ui.cob_KanGrubu.currentText()
    _led_EngelNedeni = ui.led_EngelNedeni.text()
    _led_EngelYuzdesi = ui.led_EngelYuzdesi.text()
    _led_IlgilendigiSporlar = ui.led_IlgilendigiSporlar.text()

    curs.execute("INSERT INTO UYE                                                                                      \
        (Durum, UyeNo, AdiSoyadi, TcNo, Tabiyeti, DogumTarihi, DogumYeri, AnaAdi, BabaAdi, Meslegi,                    \
        OgrenimDurumu, SosyalGuvencesi, KabulTarihi, KabulKararNo, IptalTarihi, IptalKararNo, IptalNedeni,             \
        CepNo_1, CepNo_2, IrtibatNo, Ilce, Sehir, E_Mail, Aciklama, Adress, AkuluAraba, TekerlekliSandalye,            \
        KanadyenBaston, Yurutec, Protez, Ortez, KanGrubu, EngelNedeni, EngelYuzdesi, IlgilendigiSporlar)               \
        VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",                               \
        (_cob_Durum, _led_UyeNo, _led_AdiSoyadi, _led_TcNo, _led_Tabiyeti, _dte_DogumTarihi, _led_DogumYeri,           \
        _led_AnaAdi, _led_BabaAdi, _led_Meslegi, _cob_OgrenimDurumu, _cob_SosyalGuvencesi,                             \
        _dat_KabulTarihi, _led_KabulKararNo, _dat_IptalTarihi, _led_IptalKararNo, _led_IptalNedeni,                    \
        _led_CepNo1, _led_CepNo2, _led_IrtibatNo, _led_Ilce, _led_Sehir, _led_EMail, _led_Aciklama,                    \
        _led_Adres, _chb_AkuluAraba, _chb_TekerlekliSandalye, _chb_KanadyenBaston, _chb_Yurutec,                       \
        _chb_Protez, _chb_Ortez, _cob_KanGrubu, _led_EngelNedeni, _led_EngelYuzdesi, _led_IlgilendigiSporlar
         ))

    conn.commit()

# ------------------SIGNAL SLOT-----------------------
# ----------------------------------------------------
ui.btn_Kaydet.clicked.connect(EKLE)


sys.exit(uygulama.exec_())

UyeKayitFormuUI dosyasını da bizimle paylaşmanız lazım. Bu hali ile kodu deneyemeyiz.

@dildeolupbiten @aib
Sorunun kaynağını tespit ettim. Fonksiyonu farklı bir şekilde yazdım ve bu sefer bana hata döndü. Kayıt eklenememesi Date formatından kaynaklı Formumdaki 3 tarih alanının formatını CalenderWidget yaptığımda kayıt yapabiliyorum fakat DateEdit yada DateTimeEdit kullandığımda, ki formumda bunları kullanmıştım kayıt yapmıyor. Şimdi bu iki widget ile neden kayıt yapılamadığını araştıracağım.

1 Beğeni

Sorunun kaynağını tespit etmenize sevindim. Umarım araştırmalarınızın sonucunda bahsettiğiniz iki widget ile neden kayıt yapılamadığını da öğrenirsiniz. İyi çalışmalar diliyorum.

Abi microsoft SQL i kullan turkcell geleceği yazanlarda var

SQLite ile devam edeceğim şimdilik oda aklımda C# da onu kullanırım.

.ui dosyasını Forumda nasıl paylaşabilirim Ekrem Bey.

Dosya tc den linki atabilirsin abi

Dosyanın içeriğini kopyalayıp kod atıyormuş gibi atabilirsiniz.

Ama buna gerek yoktu bence, biz sadece veritabanı ile ilgileneceğimiz için direkt UyeKayitFormuUI modülünü atabilirdiniz.

SQLite sadece C# dili ile mi çalışıyor

Hayır Microsoft Sql için yazdım onu

Ekrem bey kodu payla;amiyorum satır limitini geçiyor. Modülü ise nasıl yükleyebilirim foruma bilmiyorum Dosya türlerinde sadece resim yüklemeye izin var.

Daha küçük bir proje dosyası hazırladım. Fonksiyon içinde yoruma çevirdiğim DoğumTarihi CalenderWidget componenti ile kayıt gerçekleştiriyor. Altındaki satırda yazmam gereken kodda QDateEdit obje ismi dat_DogumTarihi olarak belirledim. QT sayfasinda QDateEdit sinifinin ozelliklerine bakiyorum ama hen]z nasil yazmam gerektigini anlayamadim.

# --------------------KUTUPHANELER--------------------
# ----------------------------------------------------

import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon
from StudentUI import *

# --------------------UYGULAMA OLUŞTUR----------------
# ----------------------------------------------------

uygulama = QApplication(sys.argv)
penUyeKayitFormu = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(penUyeKayitFormu)
penUyeKayitFormu.show()

# ------------------VERITABANI OLUŞTUR----------------
# ----------------------------------------------------

import sqlite3
global curs
global conn
conn = sqlite3.connect('Student.db')
curs = conn.cursor()
srgCreTblStudent = ("""CREATE TABLE IF NOT EXISTS uye(                                                                 \
                   Id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,                                                      \
                   AdSoyad TEXT NOT NULL,                                                                              \
                   OkulNo TEXT NOT NULL ,                                                                              \
                   Sube TEXT NOT NULL,                                                                                 \
                   Burslu TEXT NOT NULL,                                                                               \
                   YabanciDil TEXT NOT NULL,                                                                           \
                   DogumTarihi TEXT NOT NULL                                                                          \
                   )""")
curs.execute(srgCreTblStudent)
conn.commit()  # Veritabaniyla Baglantiyi Kuruyoruz.


# -----------------------KAYDET-----------------------
# ----------------------------------------------------

def EKLE():
    _led_AdSoyad = ui.led_AdSoyad.text()  # current.item().text() Listelerdeki itemlara ulasma kodu.
    _led_OkulNo = ui.led_OkulNo.text()
    _cob_Sube = ui.cob_Sube.currentText()
    if ui.chb_Burslu.isChecked():
        _chb_Burslu = "Evet"
    else:
        _chb_Burslu = "Hayır"
    _lsw_YabanciDil = ui.lsw_YabanciDil.currentItem().text()
    #_clr_DogumTarihi = ui.clr_DogumTarihi.selectedDate().toString(QtCore.Qt.ISODate)
    _dat_DogumTarihi = ui.dat_DogumTarihi


    curs.execute("""INSERT INTO UYE (AdSoyad, OkulNo, Sube, YabanciDil, DogumTarihi, Burslu)
        VALUES (?,?,?,?,?,?)""", (_led_AdSoyad, _led_OkulNo, _cob_Sube, _chb_Burslu, _lsw_YabanciDil, _clr_DogumTarihi))
    conn.commit()



# ------------------SIGNAL SLOT-----------------------
# ----------------------------------------------------
ui.btn_Kaydet.clicked.connect(EKLE)

sys.exit(uygulama.exec_())

Student.ui kodlari


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(851, 532)
        MainWindow.setStyleSheet("")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.taw_OgrenciBilgi = QtWidgets.QTableWidget(self.centralwidget)
        self.taw_OgrenciBilgi.setGeometry(QtCore.QRect(49, 330, 741, 155))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.taw_OgrenciBilgi.setFont(font)
        self.taw_OgrenciBilgi.setRowCount(50)
        self.taw_OgrenciBilgi.setColumnCount(7)
        self.taw_OgrenciBilgi.setObjectName("taw_OgrenciBilgi")
        self.lsw_YabanciDil = QtWidgets.QListWidget(self.centralwidget)
        self.lsw_YabanciDil.setGeometry(QtCore.QRect(277, 140, 130, 60))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.lsw_YabanciDil.setFont(font)
        self.lsw_YabanciDil.setObjectName("lsw_YabanciDil")
        item = QtWidgets.QListWidgetItem()
        self.lsw_YabanciDil.addItem(item)
        item = QtWidgets.QListWidgetItem()
        self.lsw_YabanciDil.addItem(item)
        item = QtWidgets.QListWidgetItem()
        self.lsw_YabanciDil.addItem(item)
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(58, 140, 74, 16))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.label_8.setFont(font)
        self.label_8.setObjectName("label_8")
        self.btn_Kaydet = QtWidgets.QPushButton(self.centralwidget)
        self.btn_Kaydet.setGeometry(QtCore.QRect(280, 220, 130, 30))
        self.btn_Kaydet.setObjectName("btn_Kaydet")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(58, 12, 59, 16))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(58, 42, 52, 16))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(58, 72, 33, 16))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(430, 10, 86, 16))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(58, 104, 49, 16))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.led_AdSoyad = QtWidgets.QLineEdit(self.centralwidget)
        self.led_AdSoyad.setGeometry(QtCore.QRect(280, 12, 127, 28))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.led_AdSoyad.setFont(font)
        self.led_AdSoyad.setObjectName("led_AdSoyad")
        self.led_OkulNo = QtWidgets.QLineEdit(self.centralwidget)
        self.led_OkulNo.setGeometry(QtCore.QRect(280, 41, 127, 28))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.led_OkulNo.setFont(font)
        self.led_OkulNo.setObjectName("led_OkulNo")
        self.cob_Sube = QtWidgets.QComboBox(self.centralwidget)
        self.cob_Sube.setGeometry(QtCore.QRect(280, 70, 126, 28))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.cob_Sube.setFont(font)
        self.cob_Sube.setObjectName("cob_Sube")
        self.cob_Sube.addItem("")
        self.cob_Sube.addItem("")
        self.chb_Burslu = QtWidgets.QCheckBox(self.centralwidget)
        self.chb_Burslu.setGeometry(QtCore.QRect(280, 106, 51, 20))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift Light")
        font.setPointSize(10)
        self.chb_Burslu.setFont(font)
        self.chb_Burslu.setObjectName("chb_Burslu")
        self.dat_DogumTarihi = QtWidgets.QDateEdit(self.centralwidget)
        self.dat_DogumTarihi.setGeometry(QtCore.QRect(430, 30, 110, 22))
        self.dat_DogumTarihi.setCalendarPopup(True)
        self.dat_DogumTarihi.setObjectName("dat_DogumTarihi")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 851, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        __sortingEnabled = self.lsw_YabanciDil.isSortingEnabled()
        self.lsw_YabanciDil.setSortingEnabled(False)
        item = self.lsw_YabanciDil.item(0)
        item.setText(_translate("MainWindow", "ALMANCA"))
        item = self.lsw_YabanciDil.item(1)
        item.setText(_translate("MainWindow", "FRANSIZCA"))
        item = self.lsw_YabanciDil.item(2)
        item.setText(_translate("MainWindow", "INGILIZCE"))
        self.lsw_YabanciDil.setSortingEnabled(__sortingEnabled)
        self.label_8.setText(_translate("MainWindow", "YABANCI DIL"))
        self.btn_Kaydet.setText(_translate("MainWindow", "KAYDET"))
        self.label.setText(_translate("MainWindow", "AD SOYAD"))
        self.label_2.setText(_translate("MainWindow", "OKUL NO"))
        self.label_3.setText(_translate("MainWindow", "ŞUBE"))
        self.label_4.setText(_translate("MainWindow", "DOGUM TARIHI"))
        self.label_7.setText(_translate("MainWindow", "BURSLU"))
        self.cob_Sube.setItemText(0, _translate("MainWindow", "12 FEN B"))
        self.cob_Sube.setItemText(1, _translate("MainWindow", "12 FEN C"))
        self.chb_Burslu.setText(_translate("MainWindow", "EVET"))

Super.

Hani?

Kodu israrla iki parcaya ayirmani soyleme sebebim: Arada parca atliyorsun.

Kayit eklememe sebebi formdaki widget’lar olamaz, query fonksiyonuna giden deger olabilir.

Nasil bir deger gitmesi lazimken nasil bir deger gidiyor, bunlardan konusman lazim. Widget ozelliklerinden ve icerigini bilmedigimiz hatalardan bahsediyorsun.

Analojiyle anlatmaya calisayim:

“Arkadasimdan aldigim parayla bakkaldan kola almaya calisinca bakkal kiziyor. Arkadasla yaptigimiz kontratin ilk 5 sayfasi soyle: […]”

Bakkal dukkani kapattigi icin mi kiziyor, yoksa Monopoly parasiyla odeme yapmaya calistigin icin mi, bilmiyoruz. Arkadasindan gelen para Turk Lirasi mi, onu da bilmiyoruz.

“Kayit eklememe sebebi formdaki widget’lar olamaz, query fonksiyonuna giden deger olabilir.”
query fonksiyonuna giden değerler QCalender Widget. QDateEdit ve QDateTimeEdit componentlerinin içine yazdığımız değerler değilmi. Ben tarih değeri giriyorsamFarklı widgetlarla kod çalıştığında farklı sonuç üretiliyorsa hata widgetın değeri gönderme formatından kaynaklı değilmidir. Yoksa biri çalışıp diğerleri neden çalışmasın. Sorguya farklı bir değer gondermiyorum Widgetlarla tarih gönderiyorum. String türünde gitmesi gerekiyor çalışan CalenderWidget componentinde değer stringe çevriliyor bense bu çevirme işlemini diğer componentlerde yapamadım. Denediğim fonksiyonların toString metodu yok. Bu aşağıdaki kod CalenderWidget objesinin değerinin değişkene atandığı ve Form üzerinde bu widget ile değer giriliyorsa sonucunda VT nına kayıt yapabildiğim kod

_clr_DogumTarihi = ui.clr_DogumTarihi.selectedDate().toString(QtCore.Qt.ISODate

Üstte yazdığım objeyi iptal edip aynı kod üzerinde farklı değişkene atanan alttaki koddaki obje ise QdateEdit yada QDateTımeEdit objesi bu objenin metodları içinde CalenderWidget nesnesinin SelectedDate metodu yok. Farklı metodlar var ve ben hanginin çalıştığını bulmak için iğneyle kuyu kazıyorum. Tek tek deniyorum. Umarım anlatabilmişimdir.

_dat_DogumTarihi = ui.dat_DogumTarihi.

E[er formda üstteki dogum tarihinde ki widgeti kullandiysam burdan veri girince form üzerinden girilen hiç bir veri VT nına kayıt olmuyor ama eğer formda alttaki takvim Widgetini kullandiysam buraya yazdıgım değerler ve diğerleri VT nına kayıt yapıyor. Alttaki Widget için yazılan kodu üstteki widgeta uyarlamam gerekiyor. Tarihi alttakiyle seçersem kayıt VT işliyor. Üsttekini seçersem kayıt işlemiyor. Ben bundan üstteki Widget ile kayıt yapılamıyor sonucunu çıkarıyorum. Belki sizlerin jargonuyla anlatamıyorum ama benim dilim bu konuları anlatmaya bu kadar dönüyor. Kusura bakmayın

@aib Lütfen konu başına eklediğim videonun 5.50 saniyesinden itibaren tarih değişkenine değer atama kodunun yazılmasını 2 dakika izleyin ben bu işlemi calender üzerinden değil QDateEdit Widgetı ile yapmak istiyorum hepsi bu.

Bilmiyorum. Query’den hemen once yazdirirsan ikimiz de ogrenebiliriz. Hatta curs.execute yerine print yazsan da olur.

Oyledir. Ama hatirlatirim ki:

  1. Hatanin ne oldugunu bilmiyoruz. (Buraya yazmis gibi davraniyorsun ama ben goremedim. Yazdiysan tekrarlamani veya isaret etmeni rica edecegim.)
  2. Widget’in farkli formatta/turde deger vermesi onun dogru calismasinin bir parcasi olabilir. Hatanin kaynagi, ama hata degil.

Burada Qt alemine girdik. Widget’tan donen degerlerden bahsediyorsak VT’yi hic karistirmadan degerlerden bahsetmemiz lazim.

ui.clr_DogumTarihi.selectedDate().toString(QtCore.Qt.ISODate) bir formatta tarih verip ui.dat_DogumTarihi baska bir formatta veriyorsa sorun bu.

Orijinal sorunun bu oldugunu hatirlatmak isterim.

Cunku parcalardan olusan sisteme bir butun olarak bakiyorsun. Sorunun veritabanindan mi Qt’den mi kaynaklandigini bul, sorunsuz kismi cope at. Kazacagin kuyunun derinligini yariya indirmis olursun.

QCalendarWidget.selectedDate’in QDateEdit’teki karsiligini ariyorsun, dogru mu anladim?

abi dokümantasyonun ana linkini atar mısın