1

我是 Js 的新手,希望能得到一些帮助。

目前,通过繁琐的 js,我编写了一个 sql 函数,该函数传递一个插入语句,该语句循环遍历一个对象数组,并将数组中每个对象中的每个属性插入到 SQL 中。

为此,我编写了一个循环来遍历数组,并将每个属性作为新条目插入到 sql 中。

但是,当我尝试在连接后执行该函数时,该函数返回错误 Request is not a constructor

这是下面的完整代码。这里是否存在一些范围问题,或者我没有正确处理繁琐的 js 事件,或者我的 for 循环是否存在某种问题?

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);  
    }  

    
4

0 回答 0