none
Cambiar el tipo de dato mostrado en un datagridview c# RRS feed

  • Pregunta

  • Hola comunidad mi problema es como crear un procedimiento almacenado con una subconsulta. El caso es el siguiente tengo el siguiente script para crear el procedimiento almacenado el mismo es para buscar a un ciudadano por su numero de expediente o su pasaporte 

    Create Proc proc_Buscar_CiudadanoxDocumento
    @Numero_Expediente varchar(15),
    @Pasaporte varchar(12)
    As
    Begin
    Select Primer_Nombre As 'Primer Nombre', Segundo_Nombre As 'Segundo Nombre', Primer_Apellido As 'Primer Apellido', Segundo_Apellido As 'Segundo Apellido', Numero_Pasaporte, Numero_Expediente, Fecha_Nacimiento, p.Nombre_Pais, de.Numero_Folio, de.Estado_Documento 
    From TB_CiudadanosExtranjeros ce inner join TB_DocumentosExtranjeros de
    On ce.ID_Extranjero = de.ID_Extranjero inner join TB_Paises p
    On ce.ID_Pais = p.ID_Pais
    Where Numero_Expediente = @Numero_Expediente or Numero_Pasaporte = @Pasaporte
    End
    Go

    Pues el caso es que funciona correctamente como se muestra en la imagen cuando lo muestro en el datagridview de una aplicacion de windows form. 

    Lo que quiero hacer es que en lugar de que se muestre el checkbox se muestre un string que diga disponible o no disponible. El campo que muestra el checkbox es de tipo bit. Lo anterior funciona pero no sabría como armar una subconsulta con este pequeño script y el anterior procedimiento almacenado o cambiarlo desde código de programación para que muestre las cadenas disponible o no disponible de antemano muchas gracias por su atención.


    Select Case When Estado_Documento = 1 Then 'Disponible' Else 'Solicitado' End As 'Estado Documento'
    From TB_DocumentosExtranjeros

    viernes, 15 de septiembre de 2017 3:29

Respuestas

  • CREATE PROC dbo.proc_Buscar_CiudadanoxDocumento 
        @Numero_Expediente varchar(15),
        @Pasaporte varchar(12)
    AS
    BEGIN
        SELECT 
    	   Primer_Nombre AS 'Primer Nombre',
            Segundo_Nombre AS 'Segundo Nombre',
            Primer_Apellido AS 'Primer Apellido',
            Segundo_Apellido AS 'Segundo Apellido',
            Numero_Pasaporte,
            Numero_Expediente,
            Fecha_Nacimiento,
            p.Nombre_Pais,
            de.Numero_Folio,
            CASE WHEN de.Estado_Documento = 1 THEN 'Disponible' ELSE 'Solicitado' END As 'Estado'
        FROM 
    	   TB_CiudadanosExtranjeros ce
            INNER JOIN TB_DocumentosExtranjeros de ON ce.ID_Extranjero = de.ID_Extranjero
            INNER JOIN TB_Paises p ON ce.ID_Pais = p.ID_Pais
        WHERE 
    	   Numero_Expediente = @Numero_Expediente OR Numero_Pasaporte = @Pasaporte;
    END
    GO


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    • Propuesto como respuesta Jorge TurradoMVP viernes, 15 de septiembre de 2017 5:18
    • Marcado como respuesta Dark_Slinger sábado, 16 de septiembre de 2017 2:22
    viernes, 15 de septiembre de 2017 5:15

Todas las respuestas

  • CREATE PROC dbo.proc_Buscar_CiudadanoxDocumento 
        @Numero_Expediente varchar(15),
        @Pasaporte varchar(12)
    AS
    BEGIN
        SELECT 
    	   Primer_Nombre AS 'Primer Nombre',
            Segundo_Nombre AS 'Segundo Nombre',
            Primer_Apellido AS 'Primer Apellido',
            Segundo_Apellido AS 'Segundo Apellido',
            Numero_Pasaporte,
            Numero_Expediente,
            Fecha_Nacimiento,
            p.Nombre_Pais,
            de.Numero_Folio,
            CASE WHEN de.Estado_Documento = 1 THEN 'Disponible' ELSE 'Solicitado' END As 'Estado'
        FROM 
    	   TB_CiudadanosExtranjeros ce
            INNER JOIN TB_DocumentosExtranjeros de ON ce.ID_Extranjero = de.ID_Extranjero
            INNER JOIN TB_Paises p ON ce.ID_Pais = p.ID_Pais
        WHERE 
    	   Numero_Expediente = @Numero_Expediente OR Numero_Pasaporte = @Pasaporte;
    END
    GO


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    • Propuesto como respuesta Jorge TurradoMVP viernes, 15 de septiembre de 2017 5:18
    • Marcado como respuesta Dark_Slinger sábado, 16 de septiembre de 2017 2:22
    viernes, 15 de septiembre de 2017 5:15
  • Gracias Amigo. Saludos!!!
    sábado, 16 de septiembre de 2017 2:25