我正在尝试在MySQL的Crud操作中执行验证。我的表具有名称,idno,division,并且我已将MySQL输出写入csv文件。我给用户输入内容,如果用户输入内容与表中的idno相匹配,则它应打印整行。
当我在表中提供idno时,此方法工作正常,但当输入不正确的值时,它不会引发异常。有人可以帮我提出异常或进行验证吗?
这是我的代码:
def搜索(个体经营):
try:
with open("test.csv", 'rb') as inputfile:
reader = csv.DictReader(inputfile)
user_input=int(raw_input("Enter the Idno to search:"))
rows = [row for row in reader if row['Idno']==str(int(user_input)
for row in rows:
print rows
except ValueError:
print "Enter correct idno "
搜索()
最佳答案
在这里,要验证您来自raw_input
的用户输入,可以考虑两种方法
-使用正则表达式检查您的价值
-检查实际的数据库idno。
例如,在从数据库中获取实际数据之前,请使用选择查询检查给定的idno是否可用
查询:select idno from <table_name>
并检查是否存在。如果不可用,则可能引发价值错误
例外:raise ValueError