Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
Guarde una matriz de datos en el sql sever usando Tedious & Node

Tengo este problema en el que recibo una matriz de datos que necesito guardar en la base de datos. Tengo que recorrer la matriz y crear una fila en la tabla. Pero el problema es que el bucle está iterando al siguiente índice antes de que finalice la primera solicitud.

¿Cómo me acerco a esto?

código: A continuación se crea una conexión dentro de un bucle para que cada solicitud pueda tener una conexión

 for (let i = 0; i < newroomname.length; i++) {
 var addroomconnection = new Connection(config);
 addroomconnection.on('connect', function (err) {
 // If no error, then good to proceed.
 console.log("Connected");
 addNewRoom(addroomconnection, floorID, newroomname[i]);
 });
 addroomconnection.connect();
}

A continuación se muestra la función que maneja la solicitud:

 function addNewRoom(addroomconnection, floorID, newroomname) {
 return new Promise((resolve, reject) => {

 console.log("Writing rows into table room in function addNewRoom()...");

 let roomID = v4();
 // ? Write row into table
 console.log('inside loop');
 const request = new Request(
 `INSERT INTO [dbo].[room] (room_id, floor_id, room_name, time_created, time_modified)
 VALUES ('${roomID}', '${floorID}', '${newroomname}', GETDATE(), GETDATE());`,
 (err, rowCount) => {
 if (err) {
 console.error(err.message);
 reject(err);
 } else {
 console.log(`${rowCount} row(s) for rooms returned`);
 }
 }
 );

 request.on('requestCompleted', function (rowCount, more) {
 console.log('req completed');
 
 });
 addroomconnection.execSql(request);
 });
}

Error

 RequestError: Requests can only be made in the LoggedIn state, not the LoggedInSendingInitialSql state
 at Connection.makeRequest (C:\Users\NAA\Documents\express-test\node_modules\tedious\lib\connection.js:2208:24)
 at Connection.execSql (C:\Users\NAA\Documents\express-test\node_modules\tedious\lib\connection.js:1738:10)
 at C:\Users\NAA\Documents\express-test\server.js:477:27
 at new Promise (<anonymous>)
 at addNewRoom (C:\Users\NAA\Documents\express-test\server.js:429:12)
 at Connection.<anonymous> (C:\Users\NAA\Documents\express-test\server.js:413:21)
 at Connection.emit (node:events:390:28)
 at Connection.emit (C:\Users\NAA\Documents\express-test\node_modules\tedious\lib\connection.js:1048:18)
 at Connection.processedInitialSql (C:\Users\NAA\Documents\express-test\node_modules\tedious\lib\connection.js:1669:10)
 at C:\Users\NAA\Documents\express-test\node_modules\tedious\lib\connection.js:2723:14 {
 code: 'EINVALIDSTATE',
 number: undefined,
 state: undefined,
 class: undefined,
 serverName: undefined,
 procName: undefined,
 lineNumber: undefined
}
almost 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda