警告,我是使用SQLite和Node-Red的完全菜鸟。
我正在研究扫描和读取汽车牌照的项目。现在,我已经启动并运行了硬件,它正在通过Raspberry Pi 3上的Node-Red将板信息传递到一个非常基本的SQLite 3表,其中包含两个记录。
我可以运行即时查询,其中模块发送确切的查询以运行,即
SELECT "License_Plate" FROM QuickDirtyDB WHERE "License_Plate" LIKE "%RAF66%"
这将随我的RAF660板一起返回,如下所示
topic: "SELECT "License_Plate" FROM QuickDirtyDB WHERE "License_Plate" LIKE "%RAF66%""
payload: array[1]
0: object
License_Plate: "RAF660"
当我自动运行该查询时,它将无法正常工作,现在已经运行了三天。
我什至无法获得一个非常基本的自动查询来像
一样工作'var readlpr = msg.payload;
msg.topic = 'SELECT "License_Plate" FROM QuickDirtyDB WHERE "License_Plate" = ' + readlpr + ''
return msg;'
在查询行的末尾有两个单引号。
这将通过以下方式发送到查询,它是调试节点的输出,正是查询的内容。
"SELECT "License_Plate" FROM QuickDirtyDB WHERE "License_Plate" = RAF660 "
出现的错误是
"Error: SQLITE_ERROR: no such column: RAF660"
在工作之后,我需要弄清楚如何允许两个字符不匹配,以防OCR软件误读两个字符甚至完全丢弃两个字符。这是查询可以处理的事情,还是如果我有匹配项,我是否必须将许多板的详细信息传递给程序才能解决?
我以为我必须运行查询才能创建某种视图,然后重新查询我的读板与该视图,以查看数据库中哪个板最匹配,不确定我的术语是否正确,查看,加入,联合等。
感谢您的寻找和任何建议。
我大概会在一个小时内回家,所以可能要等到星期一才能签到
答案 0 :(得分:0)
RAF660
是一个字符串,需要用引号"RAF660"
License_Plate
是一列,不应引用。
将其读取为获取RAF660列设置为值“ License_Plate”的行的方式。