Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!