SQL Утомительный L oop через объект массива и выполнить ошибку функции инструкции вставки Запрос не является конструктором - PullRequest
1 голос
/ 03 августа 2020

Я новичок в Js и был бы признателен за некоторую помощь.

В настоящее время с помощью утомительного js я написал функцию sql, которая передает инструкцию вставки, которая проходит через массив объектов и вставляет каждое свойство в каждый объект в массиве в SQL.

Для этого я написал al oop для итерации по массиву и вставки каждого свойства как новой записи в sql.

Однако, когда я пытаюсь выполнить функцию после подключения, функция возвращает ошибку Request is not a constructor

Вот полный код ниже. Есть ли здесь проблема с областью действия, или я неправильно обрабатываю утомительные js события должным образом, или есть какая-то проблема с моим for l oop?

var jsonArray = [];
let jsonobj = {
    test: "1",
    test2: "2"
}

let jsonobj1 = {
    test: "23",
    test2: "54"
}
jsonArray.push(jsonobj)
jsonArray.push(jsonobj1)



jsonArray.push(jsonobj)
    var config = {  
        server: '123',  //update me
        authentication: {
            type: 'default',
            options: {
                userName: '123', //update me
                password: '1234'  //update me
            }
        },

        options: {
            // If you are on Microsoft Azure, you need encryption:
            //encrypt: true,
        requestTimeout: 30 * 1000,
            trustServerCertificate: true,
            database: 'db', //update me
            rowCollectionOnRequestCompletion: true,
            rowCollectionOnDone: true

        }
    };  
    var connection = new Connection(config); 
    connection.on('debug', function(err) { console.log('debug:', err);}) 
    connection.on('connect', function(err) {  
           });



    for (var i = 0; i < jsonArray.length; i++){
        var sql = `insert into store (storekey,ip,port) values ( \'${jsonArray[i].test2}\' , '2' , '6');` 
        executeStatement1(sql)
      }

    var Request = require('tedious').Request;  
    var TYPES = require('tedious').TYPES;  
    function executeStatement1(sql) {  
        request = new Request(sql, function(err) {  
         if (err) {  
            console.log(err);}  
        });    
        
        request.on('row', function(columns) {  
            columns.forEach(function(column) {  
              if (column.value === null) {  
                console.log('NULL');  
              } else {  
                console.log(" success " + column.value);  
              }  
            });  
        });       
        connection.execSql(request);  
    }  

    
...