Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 522618
            [titulo] => Extrair somente a hora
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-06-12 07:42:04
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 332951
            [status] => A
            [isExample] => 
            [NomeUsuario] => Fabiano Carvalho
            [Apelido] => FaabiianooC
            [Foto] => 332951_20140826143737.jpg
            [Conteudo] => Qual o banco de dados?
        )

)

Extrair somente a hora

Charles Figueiredo
   - 12 jun 2015

Boa noite, Senhores.
Primeiramente me chamo Charles é sou novo neste mundo de programação, porém estou com um problema na hora de extrair de uma variável somente a hora, para jogar no DataGridView. se os senhores poderem me ajuda fico muito feliz, estou trabalhando com camada... isso ocorre na camada DAL.

Tela com DataGridView (Clique na imagem para abrir em uma nova janela)

Código:

Citação:

public static IList<EntregaDetalhesDTO> Pesquisa(EntregaDetalhesDTO entrega, ref string msg)
{
var cn = new OleDbConnection(Properties.Settings.Default.Cn1);
var cmd = new OleDbCommand("SELECT * FROM tblEntregaDetalhe WHERE codEntreg = @codEntreg and status = @status ", cn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@codEntreg", entrega.codEntreg);
cmd.Parameters.AddWithValue("@status", entrega.status);
IList<EntregaDetalhesDTO> entrega123 = new List<EntregaDetalhesDTO>();
try
{
cn.Open();
OleDbDataReader leitor = cmd.ExecuteReader();
if (leitor.HasRows)
{
while (leitor.Read())
{
entrega123.Add(new EntregaDetalhesDTO()
{
codDet = Convert.ToInt32(leitor["codDet"]),
codEntreg = Convert.ToInt32(leitor["codEntreg"]),
codCli = Convert.ToInt32(leitor["codCli"]),
saida = Convert.ToDateTime(leitor["saida"]), /*Aqui ele retorna data é hora juntos é eu só quero mostra no DataGridView só a hora.*/
anotacoes = leitor["anotacoes"].ToString(),
status = leitor["status"].ToString(),
});
}
msg = "Entrega Pesquisada com Sucesso!!!";
leitor.Close();
return entrega123;
}
else
{
msg = "Entrega não Localizada!!!";
leitor.Close();
return entrega123;
}
}
catch (Exception ex)
{
msg = ex.Message;
return entrega123;
}
finally
{
if (cn.State != ConnectionState.Closed)
{
cn.Close();
}
}
}

Post mais votado

Faabiianooc
   - 12 jun 2015

Qual o banco de dados?

Randrade
   - 12 jun 2015

Não sei qual a versão que está trabalhando, mas existe a função ToShortTimeString(). Se não for, avise que posto outras formas.

#Código

saida = Convert.ToDateTime(leitor["saida"]).ToShortTimeString().

Charles Figueiredo
   - 12 jun 2015

Boa tarde, Fabiano.

Estou usando o Access 2013.

Jothaz
   - 12 jun 2015

Pode retornar na consulta:

#Código

SELECT Now() AS Hora, Hour(Now()) & ":" & Minute(Now()) AS Hora_Minuto;


Clique na imagem para abrir em uma nova janela

Charles Figueiredo
   - 12 jun 2015

Randrade, Boa tarde.

Ele xia quando coloco .ToShortTimeString(); fala que não converte string em DateTime.

Clique na imagem para abrir em uma nova janela

Charles Figueiredo
   - 14 jun 2015

Boa noite, Senhores.

Muito obrigado pela ajuda de todos, porém consegui resolver o enigma. rsrsrsrsrsrs.

Resolvi da seguinte maneira: ao invés de fazer o código na camada DAL executei ele em tempo de execução na camada Ui.

#Código

dataGridView1.Columns["saida"].DefaultCellStyle.Format = "t";


Muito obrigado é até o próximo desafio. que Deus abençoe todos.

Clique na imagem para abrir em uma nova janela