Проблема с автоматическим запросом SQLite через Node Red - PullRequest
0 голосов
/ 15 марта 2019

Внимание, я полный нуб с SQLite и Node-Red.

Я работаю над проектом по сканированию и чтению автомобильных номерных знаков.Теперь у меня установлено и работает оборудование, оно передает информацию о планшетах в очень простую таблицу SQLite 3 с двумя записями через Node-Red на Raspberry Pi 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 либо неправильно прочитало два символа, либо даже полностью отбросило два символа.Это что-то, что может обрабатывать запрос, или мне нужно будет передать много деталей на листе программе, чтобы они могли работать, если у меня есть совпадение?

Я думал, что мне нужно было бы выполнить запрос, чтобы создать какой-то видвида, а затем запросить мою табличку для чтения по сравнению с этим видом, чтобы увидеть, какая табличка в базе данных является наиболее близкой, не уверен, что у меня правильная терминология, вид, объединение, объединение и т. д.

Спасибо за просмотри любые ваши предложения.

Вероятно, я вернусь домой примерно через час, поэтому, возможно, не смогу вернуться до понедельника

1 Ответ

0 голосов
/ 19 марта 2019

RAF660 является строкой и должна быть заключена в кавычки "RAF660"

License_Plate является столбцом и не должна быть заключена в кавычки.

То, как вы его читаете, извлекает строки, в которых столбцу RAF660 задано значение "License_Plate".

...