examples nodejs code


info... examples nodejs by skole www.pi-ppo.org

Questo esempio è stato creato tramite lo script CreaScriptImportCSV.js
che legendo i files.csv creati i precedenza con fogli di calcolo o app.
database o con un semplice editor, contengono nella prima riga i nomi
dei campi delimitati dal ";" usati nelle funzioni mysql e nelle righe successive
i valori dei singoli campi da usare per popolare la tabella che verrà usata
per creare dinamicamente le pagine web tramite nodejs servers che
sono sulla vm SVP www.zucca.cloud creata per eseguire questi esempi in cloud.
Le funzioni sql create sono (dbselect,dbupdate,dbinsert, dblog),
per leggere i records la funzione dbselect usa solo il campo0 e il parametro
data0 che contiene il valore ID "contatore progressivo auto incrementale"
il quale se non è presente verrà inserito tramite la funzione dbinsert con tutti i
campi nel nuovo record altrimenti se questo è presente verra usata la funzione
dbupdate per aggiornarli.
Tutte le richieste sql eseguite dal data base sulla tabella sono scritte tramite la
funzione dblog nel file tablename.log in append con data, ora, funzione sql, valori.


//example Zucca creato Wed Jan 08 2020 20:01:49 GMT+0000 (GMT)
//CreaScriptImportCSV.js file.csv by skole www.pi-ppo.org
var fs = require('fs');
var mysql = require('mysql');
var argsCSV = process.argv.slice(2);
console.log(argsCSV[0]);
var con = mysql.createConnection({
host: 'localhost',
user: 'skole',
password: 'mysqlskole',
database: 'dbgiorgia',
connectTimeout: 1000000 // default 10000 ok 1000 records...
});

con.connect(function(err) {
if (err) throw err;
//console.log('Connected!');
});

var done = 0;
var Nsqlrec = 0;
var CSVrecErr = 0;
var records = 0;
var filelog = 'tableweb.log';

try {
stats = fs.statSync(argsCSV[0]);
console.log('File: ' + argsCSV[0] + ' exists.');
}
catch (e) {
console.log('File: ' + argsCSV[0] + ' does not exist.');
process.exit();
}

fs.readFile(argsCSV[0], 'utf8', function (err, data) {
var dataArray = data.split(/\r?\n|;/);

var NrloopNfields = 10; // total loop fields csv file...
var NrloopRecords = 100; // max records for loop...

var Nfields = 0;
var title = [0,1,2,3,4,5,6,7,8,9] // start pos titles dataArray
var field = [title[0],title[1],title[2],title[3],title[4],title[5],title[6],title[7],title[8],title[9]]; // start pos fields dataArray

var sqlData = '';
var Data0 = ''; var Data1 = ''; var Data2 = ''; var Data3 = ''; var Data4 = ''; var Data5 = ''; var Data6 = ''; var Data7 = ''; var Data8 = ''; var Data9 = '';
for(var ii = 0; ii < (NrloopRecords*NrloopNfields) ;ii++){
for(var i = 0; i < dataArray.length;i++){
if(i == ii) {
if(i == 0) Nfields = 1;
if(i > field[0]) { field[0] = field[0] + NrloopNfields, Nfields = Nfields + 1, records = records + 1; }
if(i > field[1]) field[1] = field[1] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[2]) field[2] = field[2] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[3]) field[3] = field[3] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[4]) field[4] = field[4] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[5]) field[5] = field[5] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[6]) field[6] = field[6] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[7]) field[7] = field[7] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[8]) field[8] = field[8] + NrloopNfields, Nfields = Nfields + 1;
if(i > field[9]) field[9] = field[9] + NrloopNfields, Nfields = Nfields + 1;

if(i == field[0]) Data0=dataArray[i], console.log(dataArray[title[0]]+': ' + dataArray[i]);
if(i == field[1]) Data1=dataArray[i], console.log(dataArray[title[1]]+': ' + dataArray[i]);
if(i == field[2]) Data2=dataArray[i], console.log(dataArray[title[2]]+': ' + dataArray[i]);
if(i == field[3]) Data3=dataArray[i], console.log(dataArray[title[3]]+': ' + dataArray[i]);
if(i == field[4]) Data4=dataArray[i], console.log(dataArray[title[4]]+': ' + dataArray[i]);
if(i == field[5]) Data5=dataArray[i], console.log(dataArray[title[5]]+': ' + dataArray[i]);
if(i == field[6]) Data6=dataArray[i], console.log(dataArray[title[6]]+': ' + dataArray[i]);
if(i == field[7]) Data7=dataArray[i], console.log(dataArray[title[7]]+': ' + dataArray[i]);
if(i == field[8]) Data8=dataArray[i], console.log(dataArray[title[8]]+': ' + dataArray[i]);
if(i == field[9]) Data9=dataArray[i], console.log(dataArray[title[9]]+': ' + dataArray[i]);

if(i == field[9] & i > 9) { // i 0...9 field title not in sqlData
//console.log('for id ' + Data0 + ' rows file cvs ' + records);
sqlData = Data0 + Data1 + Data2 + Data3 + Data4 + Data5 + Data6 + Data7 + Data8 + Data9; //array
var npos = sqlData.search('picopalla')
//console.log('npos ' + npos); //npos numero posizione inizio valore da ricercare nella stringa -1 non trovato
if(npos != -1) { dblog(filelog, 'Err.: ' + sqlData + '\n');//test values sqlData
sqlData = 'err', CSVrecErr = CSVrecErr +1;
} //end test values sqlData
if(sqlData != 'err') { //test values sqlData
dbselect(Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9);
};
};
};
};
};
console.log('Records extract: '+ records + ' fields: ' + Nfields + ' chars estratti: ' + i);
});

function dbselect(Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9){
// console.log('SELECT tableweb' + Data0);
var sql = "SELECT * FROM tableweb where id = '"+Data0+"'";
con.query(sql, function (err, result) {
if(err) throw err;
if(result != '') {
// console.log('SELECT...tableweb + result[0].id + ' ' + result[0].iduser);
dbupdate(result[0].id, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9);
} else { dbinsert(Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9) };
});
return done;
};

function dbupdate(Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9){
//console.log('UPDATE tableweb' + Data0);
var logtext = '';
var sql = "UPDATE tableweb SET campo2 = '"+Data1+"', campo3 = '"+Data2+"', campo4 = '"+Data3+"', campo5 = '"+Data4+"', campo6 = '"+Data5+"', campo7 = '"+Data6+"', campo8 = '"+Data7+"', campo9 = '"+Data8+"', campo10 = '"+Data9+"' where id = '"+Data0+"'";
con.query(sql, function (err, result) {
if(err) throw err;
if(result != '') {
Nsqlrec = Nsqlrec + 1;
logtext = sql + '\n';
//console.log(logtext);
dblog(filelog, logtext);
//console.log('UPDATE ' + tablename + Nsqlrec + ' record updeted CSVrecErr: ' + CSVrecErr);
} else { dblog('dbsqlErr.log', 'ID: ' + id + ';' + campo2 + '\n') };
});

return done;
};

function dbinsert(Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9){
//console.log('INSERT tableweb' + Data1);
var logtext = '';
var sql = "INSERT INTO tableweb (campo2, campo3, campo4, campo5, campo6, campo7, campo8, campo9, campo10) VALUES ('"+Data1+"', '"+Data2+"', '"+Data3+"', '"+Data4+"', '"+Data5+"', '"+Data6+"', '"+Data7+"', '"+Data8+"', '"+Data9+"')";
con.query(sql, function (err, result) {
if(err) throw err;
if(result != '') {
Nsqlrec = Nsqlrec + 1;
logtext = sql + '\n';
//console.log(logtext);
dblog(filelog, logtext);
//console.log('INSERT diete ' + Nsqlrec + ' record insert ' + records + ' CSVrecErr: ' + CSVrecErr);
} else { dblog('dbsqlErr.log ', + Data1 + '\n') };
});

return done;
};

function dblog(filelog, dbdatalog){
var date = new Date();
var current_hour = date.getHours();
var logline = date + current_hour + '-' + dbdatalog;
fs.appendFile(filelog, logline, function (err) {
if (err) throw err;
//console.log('log! ' + filelog + ' datalog ' + logline);
if(Nsqlrec == (records - 1 - CSVrecErr)) { fs.renameSync(argsCSV[0], 'done-'+argsCSV[0]), process.exit(); }
});
return done;
};

CONTACT US

 

  Tel: .....

FOLLOW US

PROFILE

Profile ...

© Copyright 2016-2020 All Rights Reserved.