#crate the student file
import pickle
def add():
stu={}
n=int(input('no of records'))
fp=open('[Link]','ab')
for i in range(n):
rno=int(input('rollno'))
nm=input('enter name')
mk=float(input('enter marks'))
stu['Rn']=rno
stu['Name']=nm
stu['Mark']=mk
[Link](stu,fp)
[Link]()
#update the file
def display():
fp=fp=open('[Link]','rb')
stu={}
try:
while True:
stu=[Link](fp)
print("Roll no.: ", "Name ", "Mark ")
print(stu['Rn'],stu['Name'],stu['Mark'])
except EOFError:
[Link]()
def search():
fp=fp=open('[Link]','rb')
stu={}
rno=int(input('enter rollno'))
found=False
try:
while True:
stu=[Link](fp)
if stu['Rn']==rno:
print(stu['Name'])
found=True
except EOFError:
[Link]()
def update():
fp=open('[Link]','rb+')
stu={}
found=False
rn=int(input('enter the rollno of student to be modified:'))
try:
while True:
ps=[Link]()
stu=[Link](fp)
if stu['Rn']==rn:
print(stu) # display the existing record
# enter data for new record
rno=int(input('rollno'))
nm=input('enter name')
mk=float(input('enter marks'))
stu['Rn']=rno
stu['Name']=nm
stu['Mark']=mk
[Link](ps)
[Link](stu,fp)
found=True
except EOFError:
if found==False:
print ('not found')
[Link]()
#interface
import [Link] as sqltor
import pickle
fp=open('[Link]','wb')
stu={}
mycon=[Link](host="localhost", user= "root", password="1234", database=
"12SB2023")
if mycon.is_connected() ==False:
print ("Error connecting to My SQL database")
else:
print("Connected")
cursor=[Link]()
q=("select roll_no, name, mark from student1")
[Link](q)
data=[Link]()
l=len(data)
for i in range(l):
# print (data[i] [0] "\t", data[i] [1])
stu['Rn']=data [i] [0]
stu['Name']=data [i] [1]
stu['Mark']=data [i] [2]
[Link](stu, fp)
[Link]()
#print ("done")
[Link]()
#menu
reply='y'
while [Link]()=='y':
print('*******Menu******')
print('1. add')
print('2. display')
print('3. search')
print('4. update')
print('5. exit')
print('enter choice')
ch=int(input())
if ch==1:
add()
elif ch==2:
display()
elif ch==3:
search()
elif ch==4:
update()
else:
break
print('do you want to cont....')
reply=input()