बहुत बढ़िया! ✅ Lesson 7 सफलतापूर्वक पूरा हो गया है।
आपके screenshot में सभी पाँच fields सही तरह से data ले रहे हैं:
Student Name → Rahul Kumar ✅
Father Name → Ramesh Kumar ✅
Mobile → 9876543210 ✅
Class → V ✅
Monthly Fee → ₹1000 ✅
और Save Student दबाने पर सही information popup में आ रही है। 🎉
अब हम एक बहुत महत्वपूर्ण चरण पर पहुँच गए हैं:
🎓 Lesson 8 — SQLite Database
अभी तक:
Student Form
↓
Python
↓
Popupलेकिन program बंद करते ही Rahul Kumar का data गायब हो जाएगा।
हमें चाहिए:
Student Form
↓
Save Student
↓
Python
↓
SQLite Database
↓
Data Permanently Savedयही School Fee Management Software की असली foundation है।
Lesson 8 में हम क्या सीखेंगे?
पहले हम समझेंगे:
Database क्या है?
इसे स्कूल की एक digital register की तरह समझिए।
School Register
│
├── Student 1
├── Student 2
├── Student 3
├── Student 4
└── ...SQLite में यही information table में रहेगी:
students
────────────────────────────────────
id
student_name
father_name
mobile
class_name
monthly_feeउदाहरण:
| id | student_name | father_name | mobile | class | monthly_fee |
|---|---|---|---|---|---|
| 1 | Rahul Kumar | Ramesh Kumar | 9876543210 | V | 1000 |
Step 1 — SQLite के लिए कुछ Install नहीं करना
यह अच्छी बात है। 😊
Python के साथ SQLite की library पहले से आती है।
हम केवल लिखेंगे:
import sqlite3इसलिए अभी कोई:
pip install sqlite3नहीं करना है।
Step 2 — Database File बनाएँगे
हमारा database होगा:
school.dbProject में बाद में structure ऐसा होगा:
School_Fee_Management_Learning
│
├── main.py
├── school.db
└── venvschool.db में हमारा actual student data रहेगा।
Step 3 — Database Connection
main.py के सबसे ऊपर:
import sqlite3जोड़ें।
फिर save_student() से पहले यह function बनाएँ:
def get_connection():
return sqlite3.connect("school.db")इसका मतलब:
जब भी हमें database से काम करना हो,
school.dbसे connection प्राप्त करो।
Step 4 — Students Table बनाएँ
अब एक और function:
def create_table():
connection = get_connection()
cursor = connection.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
student_name TEXT NOT NULL,
father_name TEXT NOT NULL,
mobile TEXT,
class_name TEXT,
monthly_fee REAL
)
""")
connection.commit()
connection.close()अब इसे समझते हैं।
CREATE TABLE
CREATE TABLE IF NOT EXISTS studentsमतलब:
studentsनाम की table बनाओ, लेकिन अगर पहले से मौजूद है तो दोबारा मत बनाओ।
id
id INTEGER PRIMARY KEY AUTOINCREMENTहर student को एक unique number मिलेगा:
1
2
3
4
5इसे हम बाद में Student ID / Database ID के रूप में इस्तेमाल करेंगे।
student_name
student_name TEXT NOT NULLStudent का नाम text के रूप में store होगा।
NOT NULL का मतलब:
Student name खाली नहीं होना चाहिए।
father_name
father_name TEXT NOT NULLFather name भी जरूरी रखा गया है।
mobile
mobile TEXTMobile को हमने TEXT रखा है, INTEGER नहीं।
यह महत्वपूर्ण है क्योंकि phone number गणना करने वाली संख्या नहीं है।
monthly_fee
monthly_fee REALFee amount store करने के लिए।
उदाहरण:
800
1000
1250.50Step 5 — Table को Create करना
अब program शुरू होने के समय:
create_table()चलाना होगा।
इस line को:
app = QApplication(sys.argv)से पहले रख सकते हैं:
create_table()
app = QApplication(sys.argv)इससे program शुरू होते ही database/table तैयार हो जाएगी।
🧠 अभी Student Save नहीं होगा
यह बात ध्यान से समझिए।
इस lesson के पहले चरण में हम केवल:
Python
↓
SQLite
↓
school.db
↓
students tableबनाएँगे।
अगले step में हम Save Student को database से जोड़ेंगे:
Save Student
↓
Form Data
↓
INSERT INTO students
↓
SQLite
↓
Student Saved🎯 अभी आपका छोटा Task
अपने current code में केवल ये चीजें जोड़ें:
1.
ऊपर:
import sqlite32.
save_student() से पहले:
def get_connection():
return sqlite3.connect("school.db")
def create_table():
connection = get_connection()
cursor = connection.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
student_name TEXT NOT NULL,
father_name TEXT NOT NULL,
mobile TEXT,
class_name TEXT,
monthly_fee REAL
)
""")
connection.commit()
connection.close()3.
app = QApplication(...) से पहले:
create_table()फिर run करें:
python main.pyअगर कोई error नहीं आता है, तो project folder में आपको:
school.dbदिखना चाहिए।
अभी Save Student को database से connect मत करें। पहले सिर्फ school.db और students table बनना सफल करें। उसके बाद हम Lesson 8 का अगला भाग — INSERT INTO से Rahul Kumar को वास्तव में database में save करना सीखेंगे।
0 Comments
कमेंट केवल पोस्ट से रिलेटेड करें