اذهب إلى المحتوى

السؤال

نشر

قمت بكتابة دالة للبحث في البرنامج : 

def search(self):
        con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ')
        cur = con.cursor()
        cur.execute("select * from employees where " +
        str(self.se_by.get())+" LIKE '%"+ str(self.se_var.get())+"%'")
        rows = cur.fetchall()
        if len (rows) !=0:
            self.student_table.delete(*self.student_table.get_children())
            for row in rows:
                self.student_table.insert("", END, value=row)
            con.commit()
        con.close()

 

ولا تعمل! حيث تعطي الخطأ التالي : 

pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%%'' at line 1")

الرجاء المساعدة

 

Recommended Posts

  • 0
نشر
بتاريخ 51 دقائق مضت قال Wael Aljamal:

حاول تعديل السطر كالتالي:


str(self.se_by.get())+" LIKE '%'"+ str(self.se_var.get())+"'%'")

أو:


str(self.se_by.get())+" LIKE " + '%' + str(self.se_var.get())+ '%')

 

قمت بالتعديل السابق ولم يختلف الخطأ 

  • 0
نشر
بتاريخ 1 ساعة قال Hussein Aoda:

قمت بالتعديل السابق ولم يختلف الخطأ 

يمكن التأكد من أن المتغير ليس فارغ لتنجب وضع %% وراء بعضهم

se_var_val = "_"

if str(self.se_var.get()) != ""
	se_var_val = str(self.se_var.get())



str(self.se_by.get())+" LIKE " + '%' + se_var_val + '%')

 

  • 0
نشر
بتاريخ 19 ساعات قال Wael Aljamal:

يمكن التأكد من أن المتغير ليس فارغ لتنجب وضع %% وراء بعضهم


se_var_val = "_"

if str(self.se_var.get()) != ""
	se_var_val = str(self.se_var.get())



str(self.se_by.get())+" LIKE " + '%' + se_var_val + '%')

 

قمت بتعريف المتغير في أعلى البرنامج : 

# -------- variable = بيانات البحث في البرنامج --------
        self.se_by = StringVar()
        self.se_var = StringVar()

👆

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...