繁琐的node.js SQL连接;想要从数组中插入多个值

时间:2018-02-20 16:24:46

标签: sql arrays node.js database tedious

我正在运行循环并尝试在运行时插入数组中的多个值。

以下是代码:

function GetJobsToCourseID(index, jobData){
  if((jobData != undefined)||(jobData != null)){


    var extrArray = [];

    for(var i = 0 ; i< jobData.length; i++){
        extrArray = jobData[i];

    for (var j=0; j<extrArray.length; j++)
    {
      console.log(extrArray[j]);
        requestID = new Request("SELECT IDKey from dbo.Jobz where SubJobFamily ='"+extrArray[j]+"'",  function(err, rowCount){

        if (err) {
                 console.log(err);
                 }
         else {  connection111.reset(function(err){});
                         }


    });
      }
    }
  }

    requestID.on('row', function(columns) {
    for (var i = 0; i <columns.length;  i++)

    {  

      console.log(columns[i].value, "Please work");


      if (columns[i].value == null || columns[i].value == undefined) {
        console.log('NULL');
      } else {



      }


  }

    connection111.execSql(requestID);

    });
 }

正如你所看到的那样,我试图插入我的tempArray的j元素(我不认为它应该可行,因为Tedious连接的工作原理)

然后是什么方法 - 提取每个数组元素并使用Tedious使用SQL表填充它?

1 个答案:

答案 0 :(得分:0)

通过添加连接池并将第二个循环var j更改为let j ...来修复它''乏味'真的很乏味......

这是代码:

function GetJobsToCourseID(index, jobData){


  if((jobData != undefined)&&(jobData != null)){
    var extrArray = [];
    var newArray = [];
    for(var i = 0 ; i< jobData.length; i++){
        extrArray = jobData[i];}
    for (let j=0; j<extrArray.length; j++){
      pool.acquire(function (err, connection1111) {
                if (err)
                console.error(err);

requestID = new Request("SELECT IDkey from dbo.Jobz where SubJobFamily ='"+extrArray[j]+"'",  function(err, rowCount){

 if (err) {
      console.log(err);
    } 
  else {connection1111.reset(function(err){});}});

requestID.on('row', function(columns) {
    for (var i = 0; i <columns.length;  i++){  
      if (columns[i].value == null || columns[i].value == undefined) {
        console.log('NULL');
      } else {   

          arty.push(columns[i].value);
          console.log(arty);  
}}
});
  connection1111.execSql(requestID);
});}
  pool.on('error', function (err) {
      console.error(err);
 });  
}}