【发布时间】:2019-11-29 07:31:11
【问题描述】:
我对这个错误感到非常困惑,不知道从哪里继续寻找。下面的代码,抓取一个客户列表,如果客户没有在数据库搜索中列出的条目(值= 0 计数)。
上周工作正常,但今天进行了最小的更改(注释 SQL 查询),当我在断点中查看的所有列出的数据集都有索引 [0] 的行时,会在选择的客户(不是全部)上引发 IndexError。
此时我什至没有调用任何行,它在 main(self, customer) 上引发异常,并且 customer 是一个字符串。
def __init__(self):
self.ui = wpf.LoadComponent(self, 'storageInvoicing.xaml')
self.databaseHead = 'db'
self.databaseDet = 'db'
customerList = invoiceQuery("SELECT DISTINCT(custno) from db order by custno")
#self.invoiceNumber = invoiceQuery("SELECT TOP 1 invoicenumber FROM db order by invoicenumber desc")
self.invoiceNumber = invoiceQuery("SELECT TOP 1 invno FROM db ORDER BY invno DESC")
self.invoiceNumber = str(self.invoiceNumber.Tables[0].Rows[0][0])
self.start_time = time.time()
self.startDate = '10-28-2019'
self.endDate = '11-03-2019'
self.gstRate = 0.10
for i in range(0, len(customerList.Tables[0].DefaultView)):
customer = customerList.Tables[0].Rows[i][0]
customer = customer.replace("'", r"''")
invoiceCheck = invoiceQuery("SELECT COUNT(*) from db where custno = '%s' and invoicedate = '%s'" % (customer, self.endDate))
if invoiceCheck.Tables[0].Rows.Count > 0:
if invoiceCheck.Tables[0].Rows[0][0] == 0:
try:
self.main(customer.strip()) ## THROWS EXCEPTION HERE ##
except Exception as e:
print(e)
print("--- %s seconds ---" % (time.time() - self.start_time))
以下内容直接来自当地人在客户引发错误时:
customerList 共有 3334 行数据,如本地所见> [3334] 数据行
invoiceCheck 共有 1 行,如本地人所见> [0] 数据行
内存中所有当前数据集的索引都为 0 或更大,但我仍然在 self.main(customer.strip()) 上收到错误
编辑:
更改日期范围会影响引发错误的客户列表。
【问题讨论】:
标签: .net ironpython