سلام وقت بخیر
من کد دستور sql زیر رو پیاده کردم که مشابه یکی ازتوابع پروژه کتابخانه است.
میخواستم بدونم مشکل کدم چیه؟

با سلام.
لطفاً کدهای خود را از طریق گزینه insert code block ( در toolbar بخش پاسخ ) جهت بررسی بهتر ارسال کنید.
from tkinter import *
import sql
from sql import search
window = Tk()
window.title("تاییدیه")
window.geometry("560x500")
window.resizable(width=False,height=False)
#---------------------------------------functions---------------------------------------------------
def view():
res=sql.search(term.get(),name.get(),num.get(),year.get(),uni.get())
print(res)
#---------------------------------------------LABLES--------------------------------------------------
Welcom_labl=Label(window,width=80,height=4,text='خوش آمدید',bg='pink')
Welcom_labl.pack(side=TOP)
Welcom_labl=Label(window,width=80,height=4,text='.جهت مشاهده گزارش کامل دانشجو لطفا مشخصات زیر را پرکنید',fg='blue')
Welcom_labl.pack(side=TOP)
name_labl=Label(window,width=80,height=4,text=':نام ونام خانوادگی دانشجو',fg='black')
name_labl.place(x=180,y=138)
num_labl=Label(window,width=80,height=4,text=':شماره دانشجویی',fg='black')
num_labl.place(x=200,y=190)
entry_labl=Label(window,width=80,height=4,text=':سال ورود',fg='black')
entry_labl.place(x=218,y=240)
entry_labl=Label(window,width=80,height=4,text=':نام دانشکده',fg='black')
entry_labl.place(x=213,y=290)
entry_labl=Label(window,width=80,height=4,text='با چه فرمتی مایل به مشاهده گزارش میباشید؟',fg='black')
entry_labl.place(x=130,y=360)
#---------------------------------------------ENTRIES----------------------------------------------------
term=StringVar()
term_entry=Entry(window,textvariable=term)
term_entry.place(x=1,y=100)
name=StringVar()
name_entry=Entry(window,textvariable=name)
name_entry.place(x=266,y=163)
num=StringVar()
num_entry=Entry(window,textvariable=num)
num_entry.place(x=303,y=216)
year=StringVar()
year_entry=Entry(window,textvariable=year)
year_entry.place(x=344,y=266)
uni=StringVar()
uni_entry=Entry(window,textvariable=uni)
uni_entry.place(x=333,y=313)
#-------------------------------------------BTN---------------------------------------------------------------
pdf=Button(window,text='PDF',bg='red',fg='white',command=view)
pdf.place(x=230,y=380)
pdf=Button(window,text='EXCEL',bg='green',fg='white')
pdf.place(x=150,y=380)
window.mainloop()کد بالا برای frontend برنامه ام هست. کد زیر هم برای backend برنامه بخش sql ان است.
سوال بنده این است که در خود backend وقتی تابع را فراخوانی میکنم خروجی موردنظر را میدهد.اما وقتی ازآن در قسمت frontend استفاده میکنم پاسخ none را برمیگرداند. مشکل کجاست؟
import sqlite3
import csv
conn = sqlite3.connect("University.db")
cur = conn.cursor()
cur.execute( "CREATE TABLE IF NOT EXISTS ترم (شماره_درس int,نام_درس nvarchar(40),واحد tinyint,نوع nvarchar(7),ترم tinyint)")
cur.execute("CREATE TABLE IF NOT EXISTS دانشجو (شماره_دانشجویی int,نام_دانشجو nvarchar(40),ورودی tinyint,دانشکده nvarchar(30))")
cur.execute("CREATE TABLE IF NOT EXISTS نمره (شماره_دانشجویی int ,نام_دانشجو nvarchar(40),نام_درس nvarchar(40),نمره float)")
def search(ترم= '',نام_دانشجو='' ,شماره_دانشجو='' , ورودی="", دانشکده=""):
conn = sqlite3.connect("University.db")
cur = conn.cursor()
cur.execute("""SELECT ترم.شماره_درس,
ترم.نام_درس,
ترم.واحد,
ترم.نوع,
نمره.نمره
FROM ترم INNER JOIN نمره on ترم.نام_درس = نمره.نام_درس
INNER JOIN دانشجو on نمره.نام_دانشجو =دانشجو.نام_دانشجو
WHERE ترم.ترم=? AND نمره.نام_دانشجو = ? AND دانشجو.شماره_دانشجویی=? AND دانشجو.ورودی=? AND دانشجو.دانشکده= ?""",
(ترم, نام_دانشجو,شماره_دانشجو,ورودی, دانشکده))
rows = cur.fetchall()
conn.close()
for r in rows:
print(r)
#search(3,'مائده ایرانمهر',9812377426,1398,'برق و کامپیوتر')
conn.close()


جداول هم بصورت بالاست.
در تابع search باید مقدار rows را بازگردانید.
return rowsسپس می توانید از آن در res (در تابع view) استفاده کنید.
باز هم لیست خالی برمیگرداند.
پارامترها به تابع search ارسال شده یا خیر؟
مثلاً term.get چطور به دست می آید؟ در کدها ندیدم.