0% found this document useful (0 votes)
3K views

Student Result Management System: REPORT (2022)

The document summarizes a student result management system project developed by Deep Ghusani. It was developed using Python and SQLite3 tools for the Shatri Swami Shree Dharmajivandasji Institute of Information Technology. The project allows adding and viewing student results for various courses. It includes sections on introduction, acknowledgment, index, project profile, requirements, preliminary investigation, feasibility study, system analysis, data dictionary and more. The project was completed within 2 months and submitted to Bhakta Kavi Narsinh Mehta University for evaluation.

Uploaded by

patel gaming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views

Student Result Management System: REPORT (2022)

The document summarizes a student result management system project developed by Deep Ghusani. It was developed using Python and SQLite3 tools for the Shatri Swami Shree Dharmajivandasji Institute of Information Technology. The project allows adding and viewing student results for various courses. It includes sections on introduction, acknowledgment, index, project profile, requirements, preliminary investigation, feasibility study, system analysis, data dictionary and more. The project was completed within 2 months and submitted to Bhakta Kavi Narsinh Mehta University for evaluation.

Uploaded by

patel gaming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 49

Student Result Management System

REPORT(2022)

Project Type:-
Software

Developed by:-
1.Ghusani Deep.

Evaluator:-
Mr.

Submit To:-

Shatri Swami Shree


Dharmajivandasji Institute
of Information Technology.
-: Introduction :-
 Our project is developed using Python and Sqllite3
Tools and technology that is server-side language.
 Our Project Code Is Totally Python Base.
 Our Project entitles Appointment management system
various Student Result related to Tiles.
 We developed our project in English Language so that
everyone has no difficulty for accessing Web Application.

-: Acknowledgement :-
It is our great pleasure to present our project report on
“Student Result Management System” which we conceived the
5th Semester of BCA affiliated to BKNMU, Junagadh.

We are very thankful to all, who have helped us in preparing


this project. We are much happy to present this “PROJECT
REPORT”. Before you, expecting that you will acknowledge. It is
the matter of great pleasure for me. As a part of the academic
study as the student of 6th semester of BCA.

We are required to undergo training for website project to


the organization in order to obtain the practical knowledge and
broaden our view regarding the same.

Deep Ghusani Page 2


As first, we would like to express our humble thanks and
gratitude to the Evaluator Mr who has provided us
such a great co-operate as progressive environment. Secondly,
at the moment, we would like to express our deepest sense of
gratitude to our deepest of Mr. Who have
contributed us the required information with special interest and
guidance throughout our project work and treated us as their
younger brothers.
We are indebted to all the people of our collage, Shastri
Swami Shree Dhramjivandasji Institute of Information &
Technology College,who have actively involved in marking of
the project. Last but not the least we would thanks the god
who has made us to do the project & also our parents with out
their support we would not be able to complete the project
successfully.

Deep Ghusani Page 3


NO. Index Page No.
1 Project Profile 5
2 Requirement 6
3 Preliminary Investigation 8
4 System Analysis 9
Feasibility study

5 - Technical Feasibility 11
- Economical Feasibility
- Operational Feasibility
6 Data Dictionary 14
Data-Flow Diagram

7  0-Level Diagram 20
 1st Level Diagram
 2nd Level Diagram
8 Use case Diagram 28
9 ER Diagram 30
10 Water fall Model 31
11 Pert Chart 32
12 Gantt Chart 34
13 Implementation & Maintence 36
14 Testing 37
15 Screen Layout 39

Deep Ghusani Page 4


-: Project Profile :-
Project Title :- “Student Result Management System”

Project Type :- Software

Front-End :- Python

Back-End :- SQLLITE3

Stream :- BCA

Time Duration :- 2 Months

Team Size :- 1 Member

1.) Ghusani Deep.

Academic Year :- 2022

College Name :- Shastri Swami Shree Dhramjivandasji


Institute of Information & Technology
College
Project Guide :- Mr.

Evaluator :- Mr.

Developed By :- Ghusani Deep

Submitted To :- Bhakta Kavi Narsinh Mehta University

Deep Ghusani Page 5


-: Requirement :-
1.) What does your business actually do?
- Our business provides services for Student Result
Management System.
2.) What do you want to create a software or website ?
- I want create a Software.
3.) Do you have any running website?
- No.
4.) What kind of features do you need in your website?
- I want features like Add Student Course, Add
Student, Add Student Result & View Student
Result.
5.) How much time period will give for this site?
- I need complete website in approx. 2 months.
6.) In contact page, do you need your office map location?
- No.
7.) Do you need online payment system?
- No.
8.) Do you have any registered domain or hosting?
- No.
9.) This website will cost approx. 7000/- it is affordable?
- Yes

Deep Ghusani Page 6


-: Preliminary investigation :-
 NEED OF SYSTEM :
o A request to receive assistance from information
systems can be made for many reasons, but in each
case someone initiates the request.
o When that request is made, the first systems activity, the
preliminary investigation begins.
o The purpose of the preliminary investigation is to evaluate
project requests.
o It is not a design study, not does it include the collection of
details to completely describe the business system.
o Rather, it is the collecting of information that permits
committee members to evaluate.
o The merits the project request and make an informed
judgment about the feasibility of the proposed project.
o We collect the information in this phase through
questionnaire and personal interviews also. We have also
note down the requirements of the clients.

Deep Ghusani Page 7


Preliminary
Investigation

Feasibility
Study

Technical Feasibility
Economic Feasibility
Operational Feasibility

System Analysis

o Analysis forms the core part of any project. The


analysis phase decides that what type of
requirements, materials, strategies, techniques,
models are required. If analysis not done properly
then the whole project may move in the wrong
direction. Thus analysis gives the right direction to
the project. It also forms a concrete base on which
the problem is defined and scheduled accordingly.

Deep Ghusani Page 8


Analysis task is divided into three areas of effort.-

1) Problem Reorganization.
2) Feasibility Study.
3) Requirement Analysis

Deep Ghusani Page 9


-: Feasibility Study :-

Technical feasibility :-

o This system user must have following system.

1.) Admin Side:-

o Hardware Requirement

Ram 1 GB Minimum

Processor Core 2 Duo or above

Hard disk 30 GB

o Software Requirement
Operating System XP or above

Database SQLLITE3

Platform Python

Tools Visual code, Notepad

Deep Ghusani Page 10


Economical feasibility:-
o The Cost of internet connection is approx. 3,500/-.
o Domain cost 2,000/- per year.
o The design & development will accord LOC and nearer to
5,000/- to 6,000/-.
o The client can afford the cost of project.

Domain and Hosting 2,000/-

Internet Connection 3,500/-

Design and Development 16,000/-


(Include Payment API)
Total 21,500/-

Operational feasibility:-
o The project requires one person who has knowledge of
basic computer fundamental.
o The client has one computer operator who can handle the
website.
o So, the project is operationally feasible.

Deep Ghusani Page 11


-:Data Dictionary:-
1.) Table: - Course

Column Type Size Constraints

Primary key,
cid Int 60 Auto
increment

name text 50 Not null

duration text 50 Not null

charges text 50 Not null

description text 50 Not null

2.) Table: - Student

Column Type Size Constraints

Primary key,
roll Int 60 Auto
increment

name text 50 Not null

email text 50 Not null

gender text 50 Not null

Deep Ghusani Page 12


dob text 50 Not null

contact text 50 Not null

admission text 50 Not null

course text 50 Not null

state text 50 Not null

city text 50 Not null

pin text 50 Not null

address text 50 Not null

3.) Table: - result

Column Type Size Constraints

Primary key,
rid Int 60 Auto
increment

roll text 50 Not null

name text 50 Not null

course text 50 Not null

marks_ob text 50 Not null

Deep Ghusani Page 13


full_marks text 50 Not null

per text 50 Not null

Deep Ghusani Page 14


-: Data Flow Diagram:-

o Data Flow Diagram (DFD) is a graphical and pictorial view


of all the process of all the system and transaction. If the
any process in the system then that process should
covered in the DFD. DFD are very useful for solving the
problem occurred during the development of the software.

o By this software we can also get the flow of the diagram


and we can understand the customer’s requirements very
easily by these diagrams will all of the advantages this
diagrams are very useful in the process of developing the
process.

o The DFD can be divided into many diagrams. Here, three


levels of the DFD which are as following:

o Context(Zero) Level

o First Level

o Second Level

Symbols are used in the DFD are as following:-

Deep Ghusani Page 15


Process:

o The round shape describes the flow of the data.

o When any new process starts, it should write in this


round shape.

o The round shape also displays from which state the


process should be start.

External Entity:

o A source of destination of data which is external to


the system.

o The process has many entities and it also

have many sub-entities or external


entities. That type of entities are
described or written in above shape

Deep Ghusani Page 16


Data Flow:

o It is the flow of data .It may be in the form of


document, letter, etc.

o This type of arrow signs indicates the

flow of the data in the project. It


describes from which part the data is
come and in which side the data will
flow. This arrow keys are full of various
meanings.

Data Store:

o Any stored data can take with no reference to the


physical method of storing.

o It shows the process of the storing of the


data and the data’s address can also be
stored in this signs.

Deep Ghusani Page 17


-: 0 Level DFD:-

rms
User Database Admin

o A level 0 data flow diagram also known as context


diagram shows a data diagram as a whole and emphasizes
the way in interacts with external entities.

Deep Ghusani Page 18


-: 1st Level DFD (Admin side):-

Deep Ghusani Page 19


-: 2nd Level DFD (Admin side):-

Deep Ghusani Page 20


-:Use Case Diagram:-

Admin Side:-

Deep Ghusani Page 21


-: Entity Relation Diagram :-

users tour
id id
name pname
email ptype
password location
contect price
feature
sdetali
fdetail
image

booking
id
name
location
date
ptype
price
email
Razor_order_id
Razor_payment_id
phonnumber
adderess
city
status

Deep Ghusani Page 22


-: Waterfall Model :-
o This model is the simplest model for software model.
o This model defines activities in terms of phases, is in
linear fashion.
o Waterfall model divides the life cycle of a software
development process into the following figure.

Deep Ghusani Page 23


-: PERT Chart :-

o A PERT chart is a project management tool used to


schedule, organize, and coordinate tasks within a project.
PERT stands for Program Evaluation Review Technique. A
similar methodology, the critical path method (CPM) was
developed for project management in the private sector at
about the same time.
o The meaning of PERT is Project Estimation and
o Review Techniques. PERT chart is a combination of various
Arrows and Boxes indicating information.
o There are various signs that describe their own meanings.
o The box indicates various activities. So, when the boxes we
see in the project we can decide that how the work is done
into the various processes.
o The arrow indicates the task dependencies on various
processes. Arrows describes various task and in also shows
that which task is dependent upon which task.
o PERT chart is very useful to show the project statistically.
PERT chart is also very useful in the project assuming. It
also monitoring on the activities by the time. It takes the
care of the process by timing.

Deep Ghusani Page 24


Deep Ghusani Page 25
-: GANTT Chart :-

o GANTT chart is a part of PERT chart and we can get many


things of the Gantt chart via the PERT chart. GANTT chart
describes very time scheduling & resource planning. When
the more than one activity is done parallel this chart is very
useful to understand the each process.
o GANTT chart is a special type of bar-chart that describes
that each bar describes a process or an activity. The lengthof
the bar describes the time-allocated for the activity.
o In GANTT chart each bar consists of two parts white part
and shaded part. The shaded part indicates the length of
time estimated for the process. The white part describes the
slack part of the process. The white part also describes the
time by that the process must be completed.
o So we can say that the GANTT chart is most impotent partof
repot because it describe total planning and estimation with
date of our project.

Deep Ghusani Page 26


Deep Ghusani Page 27
-: Implementation & Maintence :-

- A software implementation method is a systematically


structured approach to effectively integrate a software
based service or component into workflow of an
organizational structure or an individual end user.
- There are for method to implementation:
1. Direct cutover
2. Parallel Running
3. Phased
4. Pilot
- I used parallel running to implement my software.
- Parallel running is one of the ways to change from an
existing system to a new one. This conversion takes place
as the technology of the old one. The phrase parallel
running can refer. To the process of changing a fragment of
business information technology operation to a new or to
the technique applied by the human resources departments
in which the existing staff stay on board during the
transition to a new stuff.
- It is one of the strategies for system implementation in
which both the old and new systems are running side by
side until the users are certain that the new system has no

Deep Ghusani Page 28


problems. After a period of time, when the system is proved
to be working correctly, the old system will be removed
completely and users will depend solely on the new system.

-: Testing :-
 Testing process contains many types of phases testing can
also be divided into various types. Testing is a process to
find the error and to combine it with the development of
the software.
 Error may be occurs when the objects are improperly
specified and declared, failed, fault, test case and suite
are connected with the phases process.

1.) Black Box Testing:-


o Black box testing to the admin side all queries is regularly
implemented and data store.
o This type of the all functionally is a very higher And
unique data.

2.) White Box Testing:-


o White box testing to the client side any error of the show
in admin.
o This types of the client requirement of the all functionally
and after then error of the regular data flow control is not
verified.

Deep Ghusani Page 29


3.) Grey Box Testing:-
o Grey box testing is a software testing technique that use a
combination of black and white box testing technique.
o Grey box testing is not black box testing technique
because the tester does no some of the internal working
of the software under test in grey box testing the tester a
plays a limited number of test cases to the grey box
testing one tack a black box approach apply input to the
software and test the output.

Deep Ghusani Page 30


-: Screen Layout of Project And Coding:-

Admin Side:-

1.Course

2.Student

3.Result

4.View Student Result

5.Exit

6.Total Student

7.Total Course

8.Total Result

Deep Ghusani Page 31


-: Admin Side:-

(dashboard)

from tkinter import ttk,messagebox


from sqlite3.dbapi2 import Row
from tkinter import*
from PIL import Image,ImageTk
from course import courseclass
from student import studentclass
from result import resultclass
from report import reportclass
import sqlite3
class RMS:
def __init__(self,root):
self.root=root
self.root.title("Student Result Managment System")
self.root.geometry("1350x700+0+0")
self.root.config(bg="white")
self.bg_img=Image.open("Images/bg.png")
self.bg_img=self.bg_img.resize((920,350),Image.ANTIALIAS)
self.bg_img=ImageTk.PhotoImage(self.bg_img)
self.lbl1_bg=Label(self.root,image=self.bg_img).place(x=400,y=180,width=920,height=350)
footer=Label(self.root,text="SRMS:- Student Result Managment System\n Contact Us for Technical
Issue : Deep",font=("goudy old style",12),bg="#262626",fg="white").pack(side=BOTTOM,fill=X)
self.update_details()

Deep Ghusani Page 32


def update_details(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from course")
cr=cur.fetchall()
self.lbl_course.config(text=f"Total Course\n[{str(len(cr))}]")

cur.execute("select * from student")


cr=cur.fetchall()
self.lbl_student.config(text=f"Total Student\n[{str(len(cr))}]")

cur.execute("select * from result")


cr=cur.fetchall()
self.lbl_result.config(text=f"Total Result\n[{str(len(cr))}]")
self.lbl_course.after(200,self.update_details)

except Exception as ex:


messagebox.showerror("Error",f"Error due to{str(ex)}")

def add_course(self):

self.new_win=Toplevel(self.root)
self.new_obj=courseclass(self.new_win)

def add_studen(self):

self.new_win=Toplevel(self.root)
self.new_obj=studentclass(self.new_win)

def add_result(self):

self.new_win=Toplevel(self.root)
self.new_obj=resultclass(self.new_win)

def add_report(self):

self.new_win=Toplevel(self.root)
self.new_obj=reportclass(self.new_win)

def exit_(self):
op=messagebox.askyesno("Confirm","Do you Really want to Exit?",parent=self.root)
if op==True:
self.root.destroy()

if __name__=="__main__":
root=Tk()
obj=RMS(root)root.
mainloop()

Deep Ghusani Page 33


(course)

from sqlite3.dbapi2 import Row


from tkinter import*
from PIL import Image,ImageTk
from tkinter import ttk,messagebox
import sqlite3
class courseclass:
def __init__(self,root):
self.root=root
self.root.title("Student Result Managment System")
self.root.geometry("1200x480+80+170")
self.root.config(bg="white")
self.root.focus_force()
self.var_course=StringVar()
self.var_duration=StringVar()
self.var_charges=StringVar()

def clear(self):
self.show()
self.var_course.set("")
self.var_duration.set("")
self.var_charges.set("")
self.var_search.set("")
self.txt_description.delete('1.0',END)
self.txt_courseName.config(state=NORMAL)

def delete(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_course.get()=="":
Deep Ghusani Page 34
messagebox.showerror("Error","coures Name should be required",parent=self.root)
else:
cur.execute("select * from course where name=?",(self.var_course.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Please Select Coures from the list
First",parent=self.root)
else:
op=messagebox.askyesno("Confirm","Do you really want to
delete?",parent=self.root)
if op==True:
cur.execute("delete from course where name=?",(self.var_course.get(),))
con.commit()
messagebox.showinfo("Delete","Course deleted Succesfully"
,parent=self.root)
self.clear()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def get_data(self,ev):
self.txt_courseName.config(state='readonly')
self.txt_courseName
r=self.CourseTable.focus()
content=self.CourseTable.item(r)
row=content["values"]
#print(row)
self.var_course.set(row[1])
self.var_duration.set(row[2])
self.var_charges.set(row[3])
#self.var_course.set(row[4])
self.txt_description.delete('1.0',END)
self.txt_description.insert(END,row[4])

def add(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_course.get()=="":
messagebox.showerror("Error","coures Name should be required",parent=self.root)
else:
cur.execute("select * from course where name=?",(self.var_course.get(),))
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Coures Name Already
Present",parent=self.root)
else:
cur.execute("insert into course (name,duration,charges,description)
values(?,?,?,?)",(
self.var_course.get(),
self.var_duration.get(),
self.var_charges.get(),
self.txt_description.get("1.0",END)
))

Deep Ghusani Page 35


con.commit()
self.show()
messagebox.showinfo("Success","Coures Added Successfully",parent=self.root)
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
def update(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_course.get()=="":
messagebox.showerror("Error","coures Name should be required",parent=self.root)
else:
cur.execute("select * from course where name=?",(self.var_course.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Select Course from list",parent=self.root)
else:
cur.execute("update course set duration=?,charges=?,description=? where
name=?",(
self.var_duration.get(),
self.var_charges.get(),
self.txt_description.get("1.0",END),
self.var_course.get()
))
con.commit()
messagebox.showinfo("Success","Coures Update
Successfully",parent=self.root)
self.show()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def show(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from course")
rows=cur.fetchall()
self.CourseTable.delete(*self.CourseTable.get_children())
for row in rows:
self.CourseTable.insert('',END,values=row)

except Exception as ex:


messagebox.showerror("Error",f"Error due to{str(ex)}")

def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute(f"select * from course where name LIKE '%{self.var_search.get()}%'")
rows=cur.fetchall()
self.CourseTable.delete(*self.CourseTable.get_children())
for row in rows:

Deep Ghusani Page 36


self.CourseTable.insert('',END,values=row)
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

if __name__=="__main__":
root=Tk()
obj=courseclass(root)
root.mainloop()

Deep Ghusani Page 37


(student)

from sqlite3.dbapi2 import Row


from tkinter import*
from PIL import Image,ImageTk
from tkinter import ttk,messagebox
import sqlite3
class studentclass:
def __init__(self,root):
self.root=root
self.root.title("Student Result Managment System")
self.root.geometry("1200x480+80+170")
self.root.config(bg="white")
self.root.focus_force()
self.var_roll=StringVar()
self.var_name=StringVar()
self.var_email=StringVar()
self.var_gender=StringVar()
self.var_dob=StringVar()
self.var_contact=StringVar()
self.var_course=StringVar()
self.var_a_date=StringVar()
self.var_state=StringVar()
self.var_city=StringVar()
self.var_pin=StringVar()
def clear(self):
self.show()
self.var_roll.set("")
self.var_name.set("")
self.var_email.set("")

Deep Ghusani Page 38


self.var_gender.set("Select")
self.var_dob.set("")
self.var_contact.set("")
self.var_a_date.set("")
self.var_course.set("Select")
self.var_state.set("")
self.var_city.set("")
self.var_pin.set("")
self.txt_address.delete("1.0",END)
self.txt_roll.config(state=NORMAL)
self.var_search.set("")

def delete(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_roll.get()=="":
messagebox.showerror("Error","Roll No. should be required",parent=self.root)
else:
cur.execute("select * from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Please Select student from the list
First",parent=self.root)
else:
op=messagebox.askyesno("Confirm","Do you really want to
delete?",parent=self.root)
if op==True:
cur.execute("delete from student where roll=?",(self.var_roll.get(),))
con.commit()
messagebox.showinfo("Delete","Student deleted Succesfully"
,parent=self.root)
self.clear()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def get_data(self,ev):
self.txt_roll.config(state='readonly')
r=self.CourseTable.focus()
content=self.CourseTable.item(r)
row=content["values"]
self.var_roll.set(row[0])
self.var_name.set(row[1])
self.var_email.set(row[2])
self.var_gender.set(row[3])
self.var_dob.set(row[4])
self.var_contact.set(row[5])
self.var_a_date.set(row[6])
self.var_course.set(row[7])
self.var_state.set(row[8])
self.var_city.set(row[9])
self.var_pin.set(row[10])
self.txt_address.delete("1.0",END)

Deep Ghusani Page 39


self.txt_address.insert(END,row[11])

def add(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_roll.get()=="":
messagebox.showerror("Error","Roll No. should be required",parent=self.root)
else:
cur.execute("select * from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Roll No. Already Present",parent=self.root)
else:
cur.execute("insert into
student(roll,name,email,gender,dob,contact,admission,course,state,city,pin,address)
values(?,?,?,?,?,?,?,?,?,?,?,?)",(
self.var_roll.get(),
self.var_name.get(),
self.var_email.get(),
self.var_gender.get(),
self.var_dob.get(),
self.var_contact.get(),
self.var_a_date.get(),
self.var_course.get(),
self.var_state.get(),
self.var_city.get(),
self.var_pin.get(),
self.txt_address.get("1.0",END)
))
con.commit()
messagebox.showinfo("Success","Student Added
Successfully",parent=self.root)
self.show()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def update(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_roll.get()=="":
messagebox.showerror("Error","Roll No. should be required",parent=self.root)
else:
cur.execute("select * from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Select student from list",parent=self.root)
else:
cur.execute("update student set
name=?,email=?,gender=?,dob=?,contact=?,admission=?,course=?,state=?,city=?,pin=?,address=?
where roll=?",(

Deep Ghusani Page 40


self.var_name.get(),
self.var_email.get(),
self.var_gender.get(),
self.var_dob.get(),
self.var_contact.get(),
self.var_a_date.get(),
self.var_course.get(),
self.var_state.get(),
self.var_city.get(),
self.var_pin.get(),
self.txt_address.get("1.0",END),
self.var_roll.get()
))
con.commit()
messagebox.showinfo("Success","Student Update
Successfully",parent=self.root)
self.show()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def show(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from student")
rows=cur.fetchall()
self.CourseTable.delete(*self.CourseTable.get_children())
for row in rows:
self.CourseTable.insert('',END,values=row)
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def fetch_course(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select name from course")
rows=cur.fetchall()
if len(rows)>0:
for row in rows:
self.course_list.append(row[0])

except Exception as ex:


messagebox.showerror("Error",f"Error due to{str(ex)}")

def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from student where roll=?",(self.var_search.get(),))
row=cur.fetchone()
if row!=None:
self.CourseTable.delete(*self.CourseTable.get_children())

Deep Ghusani Page 41


self.CourseTable.insert('',END,values=row)
else:
messagebox.showerror("Error","No Record Found",parent=self.root)

except Exception as ex:


messagebox.showerror("Error",f"Error due to{str(ex)}")

if __name__=="__main__":
root=Tk()
obj=studentclass(root)
root.mainloop()

Deep Ghusani Page 42


(Result)

from sqlite3.dbapi2 import Row


from tkinter import*
from PIL import Image,ImageTk
from tkinter import ttk,messagebox
import sqlite3
class resultclass:
def __init__(self,root):
self.root=root
self.root.title("Student Result Managment System")
self.root.geometry("1200x480+80+170")
self.root.config(bg="white")
self.root.focus_force()
#====Variables====
self.var_roll=StringVar()
self.var_name=StringVar()
self.var_course=StringVar()
self.var_marks=StringVar()
self.var_full_marks=StringVar()
self.roll_list=[]
self.fetch_roll()
def fetch_roll(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select roll from student")
rows=cur.fetchall()
if len(rows)>0:
for row in rows:
self.roll_list.append(row[0])
Deep Ghusani Page 43
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select name,course from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row!=None:
self.var_name.set(row[0])
self.var_course.set(row[1])

else:
messagebox.showerror("Error","No Record Found",parent=self.root)

except Exception as ex:


messagebox.showerror("Error",f"Error due to{str(ex)}")

def add(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_name.get()=="":
messagebox.showerror("Error","Please first Search Student
Record",parent=self.root)
else:
cur.execute("select * from result where roll=? and
course=?",(self.var_roll.get(),self.var_course.get()))
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Result Already Present",parent=self.root)
else:
per=(int(self.var_marks.get())*100)/int(self.var_full_marks.get())
cur.execute("insert into result(roll,name,course,marks_ob,full_marks,per)
values(?,?,?,?,?,?)",(
self.var_roll.get(),
self.var_name.get(),
self.var_course.get(),
self.var_marks.get(),
self.var_full_marks.get(),
str(per)
))
con.commit()
messagebox.showinfo("Success","Result Added Successfully",parent=self.root)
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

def clear(self):
self.var_roll.set("Select")
self.var_name.set("")

Deep Ghusani Page 44


self.var_course.set("")
self.var_marks.set("")
self.var_full_marks.set("")

if __name__=="__main__":
root=Tk()
obj=resultclass(root)
root.mainloop()

Deep Ghusani Page 45


(View Student Result)

from sqlite3.dbapi2 import Row


from tkinter import*
from PIL import Image,ImageTk
from tkinter import ttk,messagebox
import sqlite3
class reportclass:
def __init__(self,root):
self.root=root
self.root.title("Student Result Managment System")
self.root.geometry("1200x480+80+170")
self.root.config(bg="white")
self.root.focus_force()
def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_search.get()=="":
messagebox.showerror("Error","Roll No should be Required",parent=self.root)
else:
cur.execute("select * from result where roll=?",(self.var_search.get(),))
row=cur.fetchone()
if row!=None:
self.var_id=row[0]
self.roll.config(text=row[1])
self.name.config(text=row[2])
self.course.config(text=row[3])
self.marks.config(text=row[4])
self.full.config(text=row[5])
self.per.config(text=row[6])
else:
Deep Ghusani Page 46
messagebox.showerror("Error","No Record Found",parent=self.root)

except Exception as ex:


messagebox.showerror("Error",f"Error due to{str(ex)}")

def clear(self):
self.var_id=""
self.roll.config(text="")
self.name.config(text="")
self.course.config(text="")
self.marks.config(text="")
self.full.config(text="")
self.per.config(text="")
self.var_search.set("")

def delete(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_id=="":
messagebox.showerror("Error","Search Student Result First",parent=self.root)
else:
cur.execute("select * from result where rid=?",(self.var_id,))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Invalid Student Result",parent=self.root)
else:
op=messagebox.askyesno("Confirm","Do you really want to
delete?",parent=self.root)
if op==True:
cur.execute("delete from result where rid=?",(self.var_id,))
con.commit()
messagebox.showinfo("Delete","Result deleted Succesfully"
,parent=self.root)
self.clear()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")

if __name__=="__main__":
root=Tk()
obj=reportclass(root)
root.mainloop()

Deep Ghusani Page 47


(Exit)

def exit_(self):
op=messagebox.askyesno("Confirm","Do you Really want to Exit?",parent=self.root)
if op==True:
self.root.destroy()

Deep Ghusani Page 48


-: Bibliography :-

-www.Google.com
-www.youtube.com

Thank You

Deep Ghusani Page 49

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy