我有一个功能,在扫描条形码后将新记录添加到 Mysql 数据库中。功能正常,但在应用程序屏幕上返回结果时出现问题。当我第一次扫描条形码时,即使我可以看到新记录已创建,它也不会返回任何结果。但当我第二次扫描条形码时,它只返回 1 条记录。编辑:(添加了有关该问题的更多信息)之后它始终是-1记录,这不会是问题我可以向所有结果添加+1,但问题是第一个,因为它根本不返回任何内容。我尝试在查询之间使用 time.sleep(.3) 但这没有任何效果。我现在想知道 Python 代码是否错误,或者我的 SQL 查询是否应该有所不同。
def db_execute3(config, sql, val):
mydb = mysql.connector.connect(**config)
mycursor = mydb.cursor()
try:
mycursor.execute(sql, val)
mydb.commit()
except mysql.connector.Error as err:
if err.errno == errorcode.CR_CONN_HOST_ERROR:
popip.open()
Clock.schedule_once(popip.dismiss, 3)
elif err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
popx.open()
Clock.schedule_once(popx.dismiss, 3)
elif err.errno == errorcode.ER_BAD_DB_ERROR:
popdb.open()
Clock.schedule_once(popdb.dismiss, 3)
elif err.errno == errorcode.ER_NO_REFERENCED_ROW_2:
popbr.open()
Clock.schedule_once(popbr.dismiss, 3)
else:
mycursor.close()
def inbsort_btndwn(self, _):
cont = self.container_no.text.upper()
barc = self.sku_barcode.text.upper()
sort_worknumb = self.sort_worknumb.text.upper()
val = (sort_worknumb, cont, barc)
valx = (cont,barc)
if barc is "" and cont is "":
errorsound.play()
self.pallet_sku.text = ""
self.number_sku.text = ""
Clock.schedule_once(self.focus_container_no, 0.2)
elif barc is "" and cont is not "":
errorsound.play()
self.pallet_sku.text = ""
self.number_sku.text = ""
Clock.schedule_once(self.focus_sku_barcode, 0.2)
largeQ
相关分类