繁体   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