Первое утверждение работает, второе возвращается с ошибкой ниже.Странная вещь, за исключением имен переменных, это одно и то же утверждение, поэтому, если одно работает, другое должно работать также.
"Error: SQLITE_ERROR: no such column: RAF60"
Где RAF60 - мои данные.Я подумал, что у меня может быть цитата не в том месте, поскольку он пытается прочитать мои данные в виде столбца, но не может их увидеть, а также искал место, где я мог обменять свои данные выражением, но также не смог увидеть это.
RFID1,2,3 и CarPlates1,2,3 отформатированы как текст
Заявление одно в точности так, как показано ниже.
msg.topic = 'SELECT "RFID1", "RFID2", "RFID3", case when "RFID1" = ' + readrfid + ' then RFID1 when "RFID2" = ' + readrfid + ' then RFID2 when "RFID3" = ' + readrfid + ' then RFID3 else null end dbrfid FROM SiteDB'
Вывод ниже изКрасный узел, я переформатировал это, чтобы сделать его легко читаемым.Это показывает, что данные заполняют правильные поля, и этот код работает.Это вышеприведенный оператор со вставленными данными, непосредственно перед отправкой в SQLite
topic:
"SELECT "RFID1", "RFID2", "RFID3", case
when "RFID1" = 149544749819338 then RFID1
when "RFID2" = 149544749819338 then RFID2
when "RFID3" = 149544749819338 then RFID3
else null
end dbrfid FROM SiteDB"
payload: "149544749819338"
_msgid: "232263a1.02d34c"
_event: "node:ad044b82.8c419
0: object
Второй оператор, запрос sql в точности так, как он выглядит ниже
msg.topic = 'SELECT "CarPlate1", "CarPlate2", "CarPlate3", "dbcarplate", case when "CarPlate1" = ' + readlpr + ' then CarPlate1 when "CarPlate2" = ' + readlpr + ' then CarPlate2 when "CarPlate3" = ' + readlpr + ' then CarPlate3 else null end dbcarplate FROM SiteDB
Вывод ниже от Node-Red, я переформатировал его, чтобы сделать его легко читаемым.Это также показывает, что данные заполняют правильные поля, но возвращается с сообщением об ошибке, оператор ниже представляет данные перед их отправкой в SQLite
topic: "SELECT "CarPlate1", "CarPlate2", "CarPlate3", "dbcarplate", case
when "CarPlate1" = RAF60 then CarPlate1
when "CarPlate2" = RAF60 then CarPlate2
when "CarPlate3" = RAF60 then CarPlate3
else null
end dbcarplate FROM SiteDB"
payload: " RAF60 "
_msgid: "f2831f05.42c24"
_event: "node:61abb27f.bc684c"
Он не запускается в SQLite, и яполучить сообщение об ошибке.
"Error: SQLITE_ERROR: no such column: RAF60"