function DBwriteMPBEL(DATAinsert,idElabData,ListaDate,NodeNum,IDcentralina,...
    DTcatena,NumBasi,conn)

nNodo = num2str(NodeNum);
l = ListaDate;

for ii=1:l
    idData = idElabData(ii,1);
    if  idData == 0 % Se la data non è su DB (=0), scrivo i dati
        tablename = 'ELABDATADISP';
        if NumBasi == 1 
            colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
                'EventTime','XShift','calcerr'};
            data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
                DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
                DATAinsert(ii,7)];
        elseif NumBasi == 2 
            colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
                'EventTime','XShift','YShift','calcerr'};
            data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
                DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
                DATAinsert(ii,7),DATAinsert(ii,8)];
        elseif NumBasi == 3 
            colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
                'EventTime','XShift','YShift','ZShift','calcerr'};
            data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
                DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
                DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9)];  
        elseif NumBasi == 4
            colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
                'EventTime','XShift','YShift','ZShift','X','calcerr'};
            data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
                DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
                DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
                DATAinsert(ii,10)]; 
        elseif NumBasi == 5
            colnames = {'UnitName','ToolNameID','NodeNum','EventDate',...
                'EventTime','XShift','YShift','ZShift','X','Y','calcerr'};
            data = [DATAinsert(ii,1),DATAinsert(ii,2),DATAinsert(ii,3),...
                DATAinsert(ii,4),DATAinsert(ii,5),DATAinsert(ii,6),...
                DATAinsert(ii,7),DATAinsert(ii,8),DATAinsert(ii,9),...
                DATAinsert(ii,10,DATAinsert(ii,11))];
        end
        fastinsert(conn,tablename,colnames,data);
    else % altrimenti li aggiorno  
         tablename = 'ELABDATADISP';
         if NumBasi == 1 
            colnames = {'XShift','calcerr'};
            data = [DATAinsert(ii,6),DATAinsert(ii,7)];
        elseif NumBasi == 2 
            colnames = {'XShift','YShift','calcerr'};
            data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8)];
        elseif NumBasi == 3 
            colnames = {'XShift','YShift','ZShift','calcerr'};
            data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8),...
                DATAinsert(ii,9)];  
        elseif NumBasi == 4
            colnames = {'XShift','YShift','ZShift','X','calcerr'};
            data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8),...
                DATAinsert(ii,9),DATAinsert(ii,10)]; 
        elseif NumBasi == 5
            colnames = {'XShift','YShift','ZShift','X','Y','calcerr'};
            data = [DATAinsert(ii,6),DATAinsert(ii,7),DATAinsert(ii,8),...
                DATAinsert(ii,9),DATAinsert(ii,10,DATAinsert(ii,11))];
        end
         whereclause = ['WHERE UnitName = ''' IDcentralina ''' and ToolNameID = '''...
             DTcatena ''' and NodeNum = ''' nNodo ''' and EventDate = ''' ...
             cell2mat(DATAinsert(ii,4)) ''' and EventTime = ''' cell2mat(DATAinsert(ii,5)) ''' '];
        update(conn,tablename,colnames,data,whereclause)
   end
end

end