我正在尝试在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

09-11 19:54