none
Linq byte[] to string RRS feed

  • Pregunta

  • Esto es posible????
    var _listUsuariosDtaGrid = FROM clsUsuario in db.Usuarios
    ORDERBY clsUsuario.Usuario
    SELECT NEW
    {
    Usuario = Encoding.UTF8.GetString(clsUsuario.Usuario,
    clsUsuario.NomVend, clsUsuario.AccesoPV
    };
    
    DONDE:  
    Usuario es VARBINARY(15) en la Base de Datos y BYTE[] en clsUsuario.Usuario

    Gracias por la ayuda.
    lunes, 6 de julio de 2009 2:10

Todas las respuestas

  • Sí es posible (salvo los errores de sintaxis: las palabras clave van en minúsculas y te falta un paréntesis para cerrar el GetString, y en el orderby no puedes usar un valor que se calcula dentro del Select, así que necesitas repetir la expresión en el orderby).
    var _listUsuariosDtaGrid = from clsUsuario in db.Usuarios
    orderby Encoding.UTF8.GetString(clsUsuario.Usuario)
    select new
    {
    Usuario = Encoding.UTF8.GetString(clsUsuario.Usuario),
    clsUsuario.NomVend, clsUsuario.AccesoPV
    };
    

    Te devolverá en la variable Usuario un String en Unicode, resultado de interpretar como UTF8 el contenido del campo varbinary. Por supuesto, los resultados dejarán mucho que desear si dicho campo no contiene unos bytes correspndientes a un texto codificado en UTF8.
    viernes, 10 de julio de 2009 17:53