Extrair somente a hora

12/06/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.


[img:descricao=Tela com DataGridView]http://arquivo.devmedia.com.br/forum/imagem/435761-20150612-000137.png[/img]


Código:

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(); } } }

Charles Figueiredo

Melhor resposta

12/06/2015

Qual o banco de dados?

Fabiano Carvalho

Responder Citar

Outras Respostas

12/06/2015

Randrade

Não sei qual a versão que está trabalhando, mas existe a função [url:descricao=ToShortTimeString()]https://msdn.microsoft.com/pt-br/library/system.datetime.toshorttimestring(v=vs.110).aspx[/url]. Se não for, avise que posto outras formas.

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

12/06/2015

Charles Figueiredo

Boa tarde, Fabiano.

Estou usando o Access 2013.
Responder Citar

12/06/2015

Jothaz

Pode retornar na consulta:

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


[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150612-125331.png[/img]
Responder Citar

12/06/2015

Charles Figueiredo

Randrade, Boa tarde.

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

[img]http://arquivo.devmedia.com.br/forum/imagem/435761-20150612-180020.png[/img]
Responder Citar

14/06/2015

Charles Figueiredo

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.

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


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

[img]http://arquivo.devmedia.com.br/forum/imagem/435761-20150614-225117.png[/img]
Responder Citar