У меня ошибка, подобная этой «Отсутствует; перед операцией» ошибка в строке 44

#node.js

#node.js

Вопрос:

 if(edatevalue=="") // **checking if edatevalue is blank**
{
  edatevalue = now; // **set edatevalue to now time**
}
else
{
  edate = edatevalue; // **assign edatevalue to edate variable**
}

if(sdatevalue=="")   // **check if sdatevalue is blank**
{
  sdatevalue=0;   // **assign 0 to sdatevalue**
}
else
{
  sdate = sdatevalue; // **assign sdatevalue to sdate variable**
}
var partmsg=""; // **create variable partmsg as blank**

if(sdate==0) // **check if sdate is = 0**
{
  partmsg = "where timestamp between "   sdate " and "   edate; // **create string in variable partmsg**
}

var query = "";

if(topic=="submit")
{
  query = "select * from energymonitoring limit 10 ";
  query = query partmsg;
}

var msg1 = {topic:query};
return msg1;
 

я пытаюсь устранить неполадки «отсутствует; перед операцией» в строке "partmsg = "where timestamp between " sdate " and " edate;"

Редактировать: с тех пор я внес соответствующие изменения в соответствии с примером @Ken Lee.

Ответ №1:

Я думаю, что будут условия, при которых ваш edate и / или sdate не определены.

Следовательно, пожалуйста, внесите изменения следующим образом:

 if(edatevalue=="") // **checking if edatevalue is blank**
{
  edatevalue = now; // **set edatevalue to now time**
  edate = edatevalue; // **assign edatevalue to edate variable**

}
else
{
  edate = edatevalue; // **assign edatevalue to edate variable**
}

if(sdatevalue=="")   // **check if sdatevalue is blank**
{
  sdatevalue=0;   // **assign 0 to sdatevalue**
  sdate = sdatevalue; // **assign sdatevalue to sdate variable**

}
else
{
  sdate = sdatevalue; // **assign sdatevalue to sdate variable**
}

var partmsg=""; // **create variable partmsg as blank**

if(sdate==0) // **check if sdate is = 0**
{
  partmsg = "where timestamp between "   sdate " and "   edate; // **create string in variable partmsg**
}


 

Комментарии:

1. Я внес соответствующие изменения, но он по-прежнему показывает ошибку «отсутствует; перед операцией»

2. Отредактируйте исходный вопрос, НЕ пытайтесь добавлять код в комментарии

Ответ №2:

Редактировать: я решил проблему, мне не хватало символа » » между sdate и «и»

 if(edatevalue=="") // **checking if edatevalue is blank**
{
  edatevalue = now; // **set edatevalue to now time**
}
else
{
  edate = edatevalue; // **assign edatevalue to edate variable**
}

if(sdatevalue=="")   // **check if sdatevalue is blank**
{
  sdatevalue=0;   // **assign 0 to sdatevalue**
}
else
{
  sdate = sdatevalue; // **assign sdatevalue to sdate variable**
}
var partmsg=""; // **create variable partmsg as blank**

if(sdate==0) // **check if sdate is = 0**
{
  partmsg = "where timestamp between "   sdate   " and "   edate; // **create string in variable partmsg**
}

var query = "";

if(topic=="submit")
{
  query = "select * from energymonitoring limit 10 ";
  query = query partmsg;
}

var msg1 = {topic:query};
return msg1;