Skip to content

Commit 514f982

Browse files
committed
Update Section-04 Database Connection
1 parent 37e2f9f commit 514f982

File tree

3 files changed

+152
-5
lines changed

3 files changed

+152
-5
lines changed

Section-04/InsertingDataDatabaes.py

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88

99
from PyQt6 import QtCore, QtGui, QtWidgets
10+
import mysql.connector as mc
1011

1112

1213
class Ui_Form(object):
@@ -36,6 +37,8 @@ def setupUi(self, Form):
3637
self.lineEdit_username.setObjectName("lineEdit_username")
3738
self.horizontalLayout.addWidget(self.lineEdit_username)
3839
self.verticalLayout.addLayout(self.horizontalLayout)
40+
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
41+
self.verticalLayout.addItem(spacerItem1)
3942
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
4043
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
4144
self.label_2 = QtWidgets.QLabel(parent=Form)
@@ -45,28 +48,63 @@ def setupUi(self, Form):
4548
self.label_2.setObjectName("label_2")
4649
self.horizontalLayout_2.addWidget(self.label_2)
4750
self.lineEdit_password = QtWidgets.QLineEdit(parent=Form)
51+
self.lineEdit_password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
4852
self.lineEdit_password.setObjectName("lineEdit_password")
4953
self.horizontalLayout_2.addWidget(self.lineEdit_password)
5054
self.verticalLayout.addLayout(self.horizontalLayout_2)
51-
spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
52-
self.verticalLayout.addItem(spacerItem1)
55+
spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
56+
self.verticalLayout.addItem(spacerItem2)
5357
self.pushButton_insert = QtWidgets.QPushButton(parent=Form)
5458
font = QtGui.QFont()
5559
font.setPointSize(10)
5660
font.setBold(True)
5761
self.pushButton_insert.setFont(font)
5862
self.pushButton_insert.setObjectName("pushButton_insert")
63+
64+
self.pushButton_insert.clicked.connect(self.insert_data)
5965
self.verticalLayout.addWidget(self.pushButton_insert)
66+
self.label_result = QtWidgets.QLabel(parent=Form)
67+
font = QtGui.QFont()
68+
font.setBold(True)
69+
self.label_result.setFont(font)
70+
self.label_result.setText("")
71+
self.label_result.setObjectName("label_result")
72+
self.verticalLayout.addWidget(self.label_result)
6073

6174
self.retranslateUi(Form)
6275
QtCore.QMetaObject.connectSlotsByName(Form)
6376

77+
def insert_data(self):
78+
try:
79+
mydb = mc.connect(
80+
host="localhost",
81+
user="root",
82+
password="",
83+
database="pyqtdb"
84+
)
85+
86+
mycursor = mydb.cursor()
87+
username = self.lineEdit_username.text()
88+
password = self.lineEdit_password.text()
89+
90+
query = "INSERT INTO pyqtusers (username, password) VALUES (%s, %s)"
91+
value = (username, password)
92+
93+
mycursor.execute(query, value)
94+
95+
mydb.commit()
96+
self.label_result.setText("Data Inserted")
97+
98+
except mc.Error as e:
99+
self.label_result.setText("Error Inserting Data.")
100+
101+
64102
def retranslateUi(self, Form):
65103
_translate = QtCore.QCoreApplication.translate
66104
Form.setWindowTitle(_translate("Form", "Form"))
67105
self.label_3.setText(_translate("Form", "Inserting Data to MySQL Database"))
68106
self.label.setText(_translate("Form", "Username:"))
69-
self.label_2.setText(_translate("Form", "Password:"))
107+
self.label_2.setText(_translate("Form", "Password: "))
70108
self.pushButton_insert.setText(_translate("Form", "Insert Data"))
71109

72110

Section-04/InsertingDataDatabaes.ui

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@
6262
</item>
6363
</layout>
6464
</item>
65+
<item>
66+
<spacer name="verticalSpacer_3">
67+
<property name="orientation">
68+
<enum>Qt::Vertical</enum>
69+
</property>
70+
<property name="sizeHint" stdset="0">
71+
<size>
72+
<width>20</width>
73+
<height>40</height>
74+
</size>
75+
</property>
76+
</spacer>
77+
</item>
6578
<item>
6679
<layout class="QHBoxLayout" name="horizontalLayout_2">
6780
<item>
@@ -72,15 +85,19 @@
7285
</font>
7386
</property>
7487
<property name="text">
75-
<string>Password:</string>
88+
<string>Password: </string>
7689
</property>
7790
<property name="margin">
7891
<number>10</number>
7992
</property>
8093
</widget>
8194
</item>
8295
<item>
83-
<widget class="QLineEdit" name="lineEdit_password"/>
96+
<widget class="QLineEdit" name="lineEdit_password">
97+
<property name="echoMode">
98+
<enum>QLineEdit::Password</enum>
99+
</property>
100+
</widget>
84101
</item>
85102
</layout>
86103
</item>
@@ -110,6 +127,18 @@
110127
</property>
111128
</widget>
112129
</item>
130+
<item>
131+
<widget class="QLabel" name="label_result">
132+
<property name="font">
133+
<font>
134+
<bold>true</bold>
135+
</font>
136+
</property>
137+
<property name="text">
138+
<string/>
139+
</property>
140+
</widget>
141+
</item>
113142
</layout>
114143
</widget>
115144
<resources/>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Form implementation generated from reading ui file 'c:\Users\MD. SHAMIM\Documents\GitHub\Python-GUI-PyQt6\Section-04\InsertingDataDatabaes.ui'
2+
#
3+
# Created by: PyQt6 UI code generator 6.4.2
4+
#
5+
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
6+
# run again. Do not edit this file unless you know what you are doing.
7+
8+
9+
from PyQt6 import QtCore, QtGui, QtWidgets
10+
11+
12+
class Ui_Form(object):
13+
def setupUi(self, Form):
14+
Form.setObjectName("Form")
15+
Form.resize(500, 250)
16+
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
17+
self.verticalLayout.setObjectName("verticalLayout")
18+
self.label_3 = QtWidgets.QLabel(parent=Form)
19+
font = QtGui.QFont()
20+
font.setPointSize(12)
21+
font.setBold(True)
22+
self.label_3.setFont(font)
23+
self.label_3.setObjectName("label_3")
24+
self.verticalLayout.addWidget(self.label_3)
25+
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
26+
self.verticalLayout.addItem(spacerItem)
27+
self.horizontalLayout = QtWidgets.QHBoxLayout()
28+
self.horizontalLayout.setObjectName("horizontalLayout")
29+
self.label = QtWidgets.QLabel(parent=Form)
30+
font = QtGui.QFont()
31+
font.setBold(True)
32+
self.label.setFont(font)
33+
self.label.setObjectName("label")
34+
self.horizontalLayout.addWidget(self.label)
35+
self.lineEdit_username = QtWidgets.QLineEdit(parent=Form)
36+
self.lineEdit_username.setObjectName("lineEdit_username")
37+
self.horizontalLayout.addWidget(self.lineEdit_username)
38+
self.verticalLayout.addLayout(self.horizontalLayout)
39+
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
40+
self.verticalLayout.addItem(spacerItem1)
41+
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
42+
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
43+
self.label_2 = QtWidgets.QLabel(parent=Form)
44+
font = QtGui.QFont()
45+
font.setBold(True)
46+
self.label_2.setFont(font)
47+
self.label_2.setObjectName("label_2")
48+
self.horizontalLayout_2.addWidget(self.label_2)
49+
self.lineEdit_password = QtWidgets.QLineEdit(parent=Form)
50+
self.lineEdit_password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
51+
self.lineEdit_password.setObjectName("lineEdit_password")
52+
self.horizontalLayout_2.addWidget(self.lineEdit_password)
53+
self.verticalLayout.addLayout(self.horizontalLayout_2)
54+
spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
55+
self.verticalLayout.addItem(spacerItem2)
56+
self.pushButton_insert = QtWidgets.QPushButton(parent=Form)
57+
font = QtGui.QFont()
58+
font.setPointSize(10)
59+
font.setBold(True)
60+
self.pushButton_insert.setFont(font)
61+
self.pushButton_insert.setObjectName("pushButton_insert")
62+
self.verticalLayout.addWidget(self.pushButton_insert)
63+
self.label_result = QtWidgets.QLabel(parent=Form)
64+
font = QtGui.QFont()
65+
font.setBold(True)
66+
self.label_result.setFont(font)
67+
self.label_result.setText("")
68+
self.label_result.setObjectName("label_result")
69+
self.verticalLayout.addWidget(self.label_result)
70+
71+
self.retranslateUi(Form)
72+
QtCore.QMetaObject.connectSlotsByName(Form)
73+
74+
def retranslateUi(self, Form):
75+
_translate = QtCore.QCoreApplication.translate
76+
Form.setWindowTitle(_translate("Form", "Form"))
77+
self.label_3.setText(_translate("Form", "Inserting Data to MySQL Database"))
78+
self.label.setText(_translate("Form", "Username:"))
79+
self.label_2.setText(_translate("Form", "Password: "))
80+
self.pushButton_insert.setText(_translate("Form", "Insert Data"))

0 commit comments

Comments
 (0)