base de datos – Hacer pivot a una tabla con un cursoren sql server

Cordial saludo.

Lo que deseo hacer es un cursor que me permita hacer pivot a una tabla, lo he intentado pero no me funciona.

Esta es la tabla que deseo pivotear:

introducir la descripción de la imagen aquí

Este es el código para crear la tabla e insertar los datos:

CREATE TABLE TABLA_1 (
       TERMINAL VARCHAR(MAX),
       TEXT_NAME VARCHAR(MAX),
       CONTENT VARCHAR(MAX)
);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’ID RAN’,’2′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’NOMBRE RAN’,’PORT_L’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’34’,’NOMBRE RAN’,’LOR_P’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’56’,’ID RAN’,’5′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’56’,’NOMBRE RAN’,’PROMPT’);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’78’,’ID RAN’,’5′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’78’,’ID AS’,’9′);

INSERT INTO TABLA_1 (TERMINAL,TEXT_NAME,CONTENT) VALUES(’88’,’POL_L’,’DEFINIDO’);

y este es el resultado que espero:

introducir la descripción de la imagen aquí

Cabe aclarar que estos datos son de ejemplo, solo quiero saber si se puede dar vuelta a una tabla con un cursor y si la respuesta es sí, quisiera saber como. Estoy empezando con sql serve.

Agradezco la ayuda.

array – ¿como puedo hacer combinaciones en java con arreglos?

supongamos que tengo un arreglo con estos datos “hola ” “a” “todos” me piden realizar la combinación de elementos tal que el resultado sea

( “hola ” “a” “todos”)
(“a” “todos” “hola”)
(“todos” “hola” “a”)

es para un arreglo con n palabras, y las combinaciones son n-1

c# – LINQ Hacer un contains con un string en una fecha

tengo un buscador donde el usuario mete un string y despues se hace un contains a cada columna en la base de datos.

dbContext.Usuario.Where(c=> 
   c.Nombre.Contains(filto) ||
   c.Apellido.Contains(filto) ||
   c.FechaNacimiento.ToString("yyyy/MM/dd").Contains(filto)
)

Pero al hacer “Datetime.ToString(“yyyy/MM/dd”).Contains(filtro)” falla porque LINQ no lo puede traducir.
Y la busqueda puede ser ‘2002/12/28′ o ’01/07’ o ‘manolo’ o ’21’ o cualquier cosa

javascript – ¿Como hacer que un prompt imprima los resultados en una ventana dinamica?

me gustaria que mi programa imprimiese los resultados introducidos por el usuario en una ventana dinamica, osea se que se abriese una ventana con una serie de características(altura 800px y esas cosas)y mostrase los resultados en esa ventana, adjunto el codigo que llevo hecho hasta el momento.

var nombre;
  var edad;
  nombre=prompt('Ingrese su nombre y apellidos','');
  dia_de_nacimiento=prompt('Dia de nacimiento?');
  mes=prompt('mes?');
  ano=prompt('ano');
  document.write('Hola ');
  document.write(nombre,'<br>');
  document.write('Naciste:','<br>');
  document.write(dia_de_nacimiento);
  document.write(mes);
  document.write(ano);

var my_window;

function abrir()
{
      
 my_window = window.open("",
 "mywindow","status=1,width=350,height=150");

 document.write('Hola ');
 document.write(nombre,'<br>');
     
}
 

Como hacer un arreglo bidimensional de calificaciones en formato tabular en C#

tengo realizado un arreglo bidimensional de calificaciones de estudiantes solo que en la parte de mandar imprimir todos los estudiantes y sus calificaciones y su promedio final, para hacer el tabular se me llenan todo columnas repetidas tomando como valor de la ultima fila es es mi detalle, no se muestran las demás calificaciones y es ahí donde tengo esos inconvenientes, alguien me puede apoyar o que ya haya tenido estos detalles, oh algo parecido me brinde su apoyo ya que estoy aprendiendo esto de la programación en C#.

class Calificaciones
{
    int() cali = new int(5);
    string() estudiante = new string(3);
    int() promedioFin = new int(3);


    int Promedio = 0;
    int promedioFinal = 0;
    int Minima = 0;
    int Maxima = 0;


    public void pedirDatos()
    {


        for (var i = 0; i < estudiante.Length; i++)
        {
            var numero = i + 1;

            Console.Write("Ingrese el nombre del estudiante " + numero + ": ");
            estudiante(i) = (Console.ReadLine());

        }
        string valor;
        for (int i = 0; i < estudiante.Length; i++)
        {

            for (var j = 0; j < cali.Length; j++)
            {
                var numero = j + 1;
                Console.Write("Ingrese la calificación " + numero + " del estudiante " + estudiante(i) + ": ");
                valor = Console.ReadLine();
                cali(j) = Convert.ToInt32(valor);
                Promedio = Promedio + cali(j);

            }
            Maxima = Minima = cali(0);
            for (int j = 0; j < cali.Length; j++)
            {
                if (cali(j) > Maxima)
                {
                    Maxima = cali(j);
                }

                if (cali(j) < Minima)
                {
                    Minima = cali(j);
                }

            }

            promedioFinal = Promedio / 5;
            Promedio = 0;
            promedioFin(i) = promedioFinal;
            promedioFinal = 0;
            Console.WriteLine("El estudiante " + estudiante(i) + " su promedio es " + promedioFin(i));
            Console.WriteLine("Su calificación mas alta es: " + Maxima);
            Console.WriteLine("Su calificación mas baja es: " + Minima);



        }


    }


    public void informacionCalifi()
    {
        Console.WriteLine("No.tEstudiantetCal1tCal2tCal3tCal4tCal5tPromedio final");


        for (int i = 0; i < estudiante.Length; i++)
        {
            var numero = i + 1;


            Console.WriteLine(numero + "t" + estudiante(i) + "t" + cali(0) + "t" + cali(1) + "t" + cali(2) + "t" + cali(3) + "t" + cali(4) + "t" + promedioFin(i));



        }
        Console.WriteLine();

        Console.ReadKey();

    }

}

Captura de pantalla

introducir la descripción de la imagen aquí

php – como puedo hacer un UPDATE cuando vas a utilizar en where un campo que viene como un array?

Estoy realizando una tabla en desde la cual voy editar el campo, Estado de Orden.
enter image description here

el campo que voy a editar lo traigo con un select mediante el método POST, sin embargo también traigo el campo actual a la vista con otra consulta que se observa mediante el value.

Así mismo como es una tabla que deja visualizar todos los registros que se han realizado para las órdenes de servicio el dato name que voy a utilizar para el Where del update, viene como un array, es decir trae todos los registros, por lo requiero hallar la forma en la que solo traiga la información del ID OrdNumOrden del cual se va a actualizar el registro.
Pensé poder realizarlo de la siguiente manera per no funciono, agradezco mucho la ayuda que puedan brindarme.

introducir la descripción de la imagen aquí
Esta es la vista de la tabla:

$servicios= new ModeloListarServicios();
              $listar=$servicios->ListarServicios("SELECT * FROM orden_servicio");

              $estado1=1;
              $estado2=2;
              $estado3=3;
              $estado4=4;
            
              $roe_servicios=$listar->fetchAll();
             
              foreach ($roe_servicios as $serv){
                $numeroorden=$serv('OrdNumOrden');
                $estadoorden=$serv('ESTADO_Estcodigo');
                $numerodocumento=$serv('OrdClieNumeroDocumento');
                $fechasolicitud=$serv('OrdFechaSolicitud');
                $fechaservicio=$serv('OrdFechaServ');
                $tiposervicio=$serv('OrdTipoServicio');
                $horainicio=$serv('OrdHoraInicioServicio');
                $horafinal=$serv('OrdHoraFinalServicio');
               
                
          echo'<tr>
                  
                  <td><input name="numeroorden1()" value="'.$numeroorden.'" readonly/></td>  
                  
                  <td>
                      <select class="form-control input-lg" name="estado('.$serv('OrdNumOrden').')">
                         <option value="">'.$estadoorden.'</option>              
                         <option value="'.$estado1.'">Aprobado</option>
                         <option value="'.$estado2.'">Rechazado</option>
                         <option value="'.$estado3.'">Cancelado</option>
                         <option value="'.$estado4.'">Pendiente</option>
                   
                     </select>
                  </td>  
                  
                  <td>'.$numerodocumento.'</td> 
                  <td>'.$fechasolicitud.'</td>
                  <td>'.$fechaservicio.'</td>
                  <td>'.$tiposervicio.'</td>
                  <td>'.$horainicio.'</td>
                  <td>'.$horafinal.'</td>
                  <td> <button class="btn btn-primary" type="submit" name="reporte" value="numeroorden" 
                  <?php echo $numeroorden?>Reportar</td>

                  </tr>';
                  
                 
                }
                ?>
                <?php
            
             
              if(isset($_POST )){

              $reportarEstado = new ControladorServicios();
              $reportarEstado -> ctrReportarEstado();
            
            } else {
              

            }

              ?>
            </tbody>
          </table>
          </form>
        </div>
       <!-- /.box-body -->
      </div>
      <!-- /.box -->
    </section>
    <!-- /.content -->
</div>
 

A continuación el Controlador

<?php
Class ControladorServicios{
    
   
    static public function ctrReportarEstado() {
        if(isset($_POST('estado'))){  

            foreach ($_POST('numeroorden1') as $id){
              
                $editEstado=($_POST('estado')($id));
            } 
                     
                $tabla ="orden_servicio";
               
                $respuesta = ModeloListarServicios:: mdlReportarEstado($tabla,$id,$editEstado);
                if($respuesta =="ok"){
                    echo '<script>
                    swal({
                        type: "success",
                        title: "¡El Estado se notifico correctamente!",
                        showConfirmButton: true,
                        confirmButtonText: "Cerrar"
                       
                    }).then(function(result){
                        if(result.value){                       
                            window.location = "servicios";
                        }
                    });         
                </script>';
                }else{
                    echo '<script>
                        swal({
                            type: "error",
                            title: "¡Es necesario reportar el estado de la solicitud!",
                            showConfirmButton: true,
                            confirmButtonText: "Cerrar",
                            closeOnConfirm:false
                        }).then(function(result){
                            if(result.value){                       
                                window.location = "servicios";
                            }
                        });         
                    </script>';
                    }
                    
                
        }
    }
}

El modelo lo plantee de la siguiente manera, pero desde luego no funciona.

<?php
require_once "conexion.php";
Class ModeloListarServicios{
      #Reportar Estado  
     static public function mdlReportarEstado($tabla,$id, $editEstado){
      $stmt = Conexion::conectar()->prepare("UPDATE $tabla SET  ESTADO_Estcodigo = '$editEstado'
       WHERE  OrdNumOrden ='$id'");
         $stmt->bindParam($editEstado,$_POST('estado'), PDO::PARAM_INT);
         
        
         
   
         if($stmt->execute()){
         
          return "ok";
      }else{
          return "error";
      }
                  
}   

jquery – ¿Como hacer que x funcion se aplique solo a un determinado ancho de pantalla con Javascript?

Bueno la razón de tu problema es por como estas haciendo con la acción de tu botón.
Dale un console.log(buton.click) y verás que cada vez que haces click en el botón estas aumentándole funciones y funciones a tu botón, ósea primera vez que ejecutas la acción del botón tienes digamos el if, luego si cambias el tamaño de la pantalla para ejecutar el else tu botón tiene ya dos funciones que va ejecutar primero el if y else, luego si vuelve a cambiar el tamaño de la pantalla verás 3 funciones en tu console.log del botón, y así sucesivamente, y todas las funciones se ejecutan al hacer click por eso tienes ese comportamiento.

¿Qué debes hacer? -Mover la función del click a otro lado o retirar las funciones del botón antes de añadirle una nueva función.

Yo he movido tú código del botón a otra función:

$(function(){
   const changeResizeDesktop = window.matchMedia('(min-width: 801px)');

   function changeStyles() {
      if (changeResizeDesktop.matches){
         $('body').removeAttr('style');
         $('.box1').fadeIn();
         /* Retiramos la función para declararla en otro lado
         $('button').on('click', function(){
            $('body').removeAttr('style');
            $('.box1').css('background','darkblue').slideUp(4000);
            $('body').css('background','#ededed');      
            console.log($('button').click);
         });
         */
      } else {
         $('.box1').add('body').removeAttr('style');
         $('.box1').slideDown();
         /* Retiramos la función para declararla en otro lado
         $('button').on('click', function(){
            $('body').removeAttr('style');
            $('.box1').fadeOut(4000);
            $('body').css('opacity','0.5');
            console.log($('button').click);
         });
         */
      }
   }
   
   // declaramos la función on click y verificamos el ancho de la patalla.
   $('button').on('click', function() {
      if (changeResizeDesktop.matches){
         $('body').removeAttr('style');
         $('.box1').css('background','darkblue').slideUp(4000);
         $('body').css('background','#ededed');
      } else {
         $('body').removeAttr('style');
         $('.box1').fadeOut(4000);
         $('body').css('opacity','0.5');
      }
   });

   changeStyles();
   window.addEventListener('resize', changeStyles);

});
body{
 margin: 0;
 padding: 0;
}
.box1{
 height: 200px;
 margin: 10px;
 width: 20%;
 background: darkred;
}
button{
 background: darkred;
 color: white;
 border-radius: 8px;
 line-height: 2;
 padding: 0 3%;
 margin: 10px;
 border: none;
}
button:hover{
 cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<div class="box1"></div>
<button>Toca el boton</button>

nodejs – Estoy intentando hacer una petición post a una api rest externa desde node js ,estoy usando fetch y un usando proxy de salida a internet

cuando pruebo desde Postman si me trae el token correctamente, pero desde la petición me responde como que funciono la petición pero no me trae el token a demas no entiendo porque si le especifico el headers: { ‘Content-Type’: ‘application/json’ } porque cuando pregunto el header del response me dice application/xml; charset=utf-8.

const ProxyAgent = require('simple-proxy-agent');
const getWindowsProxy = require('@cypress/get-windows-proxy');
const proxy = getWindowsProxy();
const urlDomain = config.get('service.url');
exports.getToken = async () => {
  //const baseToken = config.get('service.baseToken');
  //const aportante = config.get('service.aportante');
  //const aportanteClave = config.get('service.aportanteClave');
  const url = `${urlDomain}/rest/security/GenerarTokenRest`;
  const data = {
    AportanteNombre: config.get('service.aportante'),
    AportanteKey: config.get('service.baseToken'),
    AportanteClave: config.get('service.aportanteClave'),
  };
  const proxySystem = await new ProxyAgent(proxy.httpProxy);
  try {
    const response = await fetch(
      url,
      { agent: proxySystem },
      {
        method: 'POST',
        // mode: 'cors',
        body: data,
        headers: { 'Content-Type': 'application/json' },
        // credentials: 'same-origin',
      }
    );
    console.log(response.ok);
    console.log(response.status);
    console.log(response.statusText);
    //console.log(response.headers.raw());
    console.log(response.headers.get('content-type'));
    if (response.ok) {
      logger.warn('Respuesta de red OK!! y respuesta HTTP OK!!');
      logger.warn(`${JSON.stringify(response)}`);
      const result = await response.json();
      logger.warn(`${JSON.stringify(result)}`);
    } else {
      logger.error('Respuesta de red OK pero respuesta HTTP no OK');
    }
  } catch (error) {
    throw error;
  }
}; ```

respuesta que obtengo
 true
 200
 OK
application/xml; charset=utf-8
(2020-11-11T12:46:00.024Z) - warn: Respuesta de red OK!! y respuesta HTTP OK!!
(2020-11-11T12:46:00.024Z) - warn: {"size":0,"timeout":0}
(2020-11-11T12:46:00.024Z) - warn: {"error":{"code":"500","message":"A property with the name 'HttpOperationSelectorData' already exists."}}

¿Como hacer una relación uno a muchos correctamente en laravel?

Tenia una web en laravel que habia dejado a medias un año atras, esta funcionaba perfectamente hasta que intento hacer una consulta uno a muchos con eloquent y una clave primaria de tipo string. me sale el error
Trying to get property of non-object

En la linea de mi plantilla blade que possee {{$post->category->url}}

He intentado de todo lo mas raro es que con el atributo imagen si funciona (en mi plantilla tambien hay un $post->image->name) claro que el de imagen es una relacion uno a muchos pero con una clave primaria numérica.Tambien se me hace extraño que al intentar acceder a la categoria($post->category) me devuelve un string

Este es el codigo de las migraciones

class AddUrlCategory extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('categories', function (Blueprint $table) {
            $table->string('url',100)->unique();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('categories', function (Blueprint $table) {
            //
            $table->dropColumn('url');
        });
    }
}

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('title',100)->unique();
            $table->string('url',100)->unique();
            $table->bigInteger('image_id');
            $table->string('category',20);
            $table->text('description');
            $table->bigInteger('user_id');
            $table->timestamps();

        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Este es el codigo de los modelos

class Category extends Model
{
    protected $fillable = (
        'category','url'
    );//creo que estoes para cambios simultaneos y tambien para hacer cambios con tinger

    function posts(){
        return $this->hasMany('AppPost','category','category');
    }
    function images(){
        return $this->hasMany('AppImage','category','category');
    }
    protected $table = 'categories';

    protected $primaryKey = 'category';
    protected $keyType = 'string';
    public $incrementing = false;
}

class Post extends Model
{
    use SoftDeletes;
    protected $fillable = (
        'title', 'description','url','image_id','category', 'user_id',
    );//creo que estoes para cambios simultaneos y tambien para hacer cambios con tinger

    public function user()
    {
        return $this->belongsTo('AppUser');
    }

    public function category()
    {
        return $this->belongsTo('AppCategory','category','category');
    }

    public function image()
    {
        return $this->belongsTo('AppImage');
    }
}