在这篇文章中,我将告诉你如何解决我的热敏打印机插件中出现的一个错误,即:。Error en el servidor: sql: no rows in result set.
这个错误说的是数据库中没有行,你可能想知道打印和数据库有什么关系,所以这正是我在这篇文章中要讨论的。
sql:结果集中没有行
在插件的第一个版本中,有一个叫做setImpresora
的选项,是用来设置默认打印门票的打印机。一旦建立,该打印机的名称就会存储在一个SQLite3数据库中。
造成这个错误的原因是数据库中没有数据,因为你没有调用setImpresora
,所以当你试图打印时就会出现这个错误,因为数据库中没有数据(没有行,就这么简单)。
后来我实现了imprimirEnImpresora
,该函数允许你在打印时指定使用哪台打印机,只要把打印机名称作为一个字符串发送给它。
正确的修正
我一直建议使用imprimirEnImpresora
方法而不是end
方法来完成打印工作,这样你就可以负责保存打印机的名称,并在打印时将其传递给插件。
所以要解决这个问题,不要这样做,这样做是错误的。
在Gist上查看代码。
这样做,这样做是对的。
查看Gist上的代码。
不同的是,我是通过传递打印机名称来调用imprimirEnImpresora
,而不是只调用end
方法。
简单修复
另一个解决方案是简单地调用setImpresora
。大多数情况下,出现这个问题是因为客户使用了免费的插件,并且正确地调用了setImpresora
;这对他来说是有效的,于是他购买了高级版本,但是当使用高级版本时,他忘记了调用setImpresora
,所以他得到了错误sql: no rows in result set。
简而言之
你可以做两件事:用你的打印机名称再次调用setImpresora
方法,或者开始使用imprimirEnImpresora
方法而不是end
方法。
The postFix: Error en el servidor: sql: no rows in result set when using thermal printer pluginappeared first onParzibyte's blog.