簡體   English   中英

錯誤:“ValueError:以 10 為基數的 int() 的無效文字:''同時將值從 Tk 條目小部件傳遞到 sql 數據庫

[英]Error : "ValueError: invalid literal for int() with base 10: '' while passing values to sql database from Tk entry widget

我正在嘗試從 Tkinter Gui 將值插入到 sql 數據庫中。 但是我收到此錯誤ValueError: invalid literal for int() with base 10: ''這是代碼:

    con = cx_Oracle.connect("system/abc123")
    print("connected")
    cursor = con.cursor()
    sql = "insert into student values('%d','%s','%d')"
    rno = int(entRno.get())
    name = entName.get()
    marks = int(entMarks.get())
    args = (rno,name,marks)
    cursor.execute(sql % args)
    con.commit()
    msg = str(cursor.rowcount) + " records inserted"
    messagebox.showinfo("Success",msg)

這是回溯:

Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in__call__
return self.func(*args)
File "C:\Users\Admin\Desktop\Tkinter Project\sam.py", line 108, in f5
rno = int(entRno.get())
ValueError: invalid literal for int() with base 10: ''

我應該怎么做才能解決這個問題?

我認為您可能想嘗試在 try/except 塊中傳入 int 值。 這個鏈接看起來足智多謀: http : //scipy-lectures.org/intro/language/exceptions.html喜歡這個

try:
   rno = int(rno)
   break
except ValueError:
   raise (ValueError, print(some debug message or warning issue)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM