#sqlite #node-red
#sqlite #узел-красный
Вопрос:
Внимание, я полный новичок в SQLite и Node-Red.
Я работаю над проектом по сканированию и считыванию автомобильных номерных знаков. Теперь у меня запущено аппаратное обеспечение, оно передает информацию о табличке в очень простую таблицу SQLite 3 из двух записей через узел-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"
После того, как это сработает, мне нужно решить, как я могу разрешить несоответствие двух символов в случае, если программа распознавания текста либо неправильно прочитает два символа, либо даже полностью удалит два символа. Это то, с чем может справиться запрос, или мне придется передать много деталей таблички программе, чтобы определить, есть ли у меня совпадение?
Я думал, что мне пришлось бы запустить запрос, чтобы создать какое-то представление, а затем запросить мою табличку для чтения по сравнению с этим представлением, чтобы увидеть, какая табличка в базе данных является наиболее подходящей, не уверен, что у меня правильная терминология, view, join, union и т.д.
Спасибо за просмотр и любые предложения, которые у вас могут возникнуть.
Вероятно, я отправлюсь домой примерно через час, поэтому, возможно, не смогу вернуться до понедельника
Ответ №1:
RAF660
является строкой и должна быть заключена в кавычки "RAF660"
License_Plate
является столбцом и не должен заключаться в кавычки.
То, как у вас это работает, читается как выборка строк, где столбцу RAF660 присвоено значение «License_Plate».