none
Data curta no Entity framework 4 RRS feed

  • Pergunta

  • Bom dia.

    No meu banco de dados criei um campo do tipo 'DATA' (tipo novo do sql server 2008).

    Porém quando vou mostrar o campo em consulta linq to entity aparece os indesejáveis zeros...

    Quando eu tento formatar, o entity diz que não reconhece a função string.

    Vide código abaixo:

    var dados = from n in ef.Pontoes
                                orderby n.Data descending
                                select new
                                {
                                    Data = string.Format("{0:dd/MM/yyyy}",n.Data),
                                    Entrada = n.Entrada,
                                    Saida = n.Saida
                                };
                    this.gvw_dados.DataSource = dados;
                    this.gvw_dados.DataBind();
                    this.gvw_dados.Visible = true;

    Eu só quero que os dados apareçam em formato curto 'dd/mm/yyyy'.

    Alguém tem alguma idéia?


    terça-feira, 5 de março de 2013 13:01

Respostas

  • Bem, muita gente acessou mas ninguém me respondeu.

    Eu consegui resolver o problema da seguinte forma:

    1 º inseri o namespace System.Data.Objects.SqlClient

    2 º inseri o seguinte código:

    Data = SqlFunctions.DateName("day", o.Apontamento).Trim() + "/" +
                                    SqlFunctions.StringConvert((Double)o.Apontamento.Month).TrimStart() + "/" +
                                    SqlFunctions.DateName("year", o.Apontamento),

    aí meu código ficou assim:

    var dados = from n in ef.Pontoes
                                orderby n.Data descending
                                select new
                                {
    Data = SqlFunctions.DateName("day", n.Apontamento).Trim() + "/" +
                                    SqlFunctions.StringConvert((Double)n.Apontamento.Month).TrimStart() + "/" +
                                    SqlFunctions.DateName("year", n.Apontamento),

                                    Entrada = n.Entrada,
                                    Saida = n.Saida
                                };
                    this.gvw_dados.DataSource = dados;
                    this.gvw_dados.DataBind();
                    this.gvw_dados.Visible = true;

    • Marcado como Resposta Fernando.Jarcen terça-feira, 5 de março de 2013 15:53
    terça-feira, 5 de março de 2013 15:52

Todas as Respostas

  • O erro está dando no databind();

    já tentei converter os dados no próprio banco para datetime mas mesmo assim não funciona.

    terça-feira, 5 de março de 2013 15:18
  • Bem, muita gente acessou mas ninguém me respondeu.

    Eu consegui resolver o problema da seguinte forma:

    1 º inseri o namespace System.Data.Objects.SqlClient

    2 º inseri o seguinte código:

    Data = SqlFunctions.DateName("day", o.Apontamento).Trim() + "/" +
                                    SqlFunctions.StringConvert((Double)o.Apontamento.Month).TrimStart() + "/" +
                                    SqlFunctions.DateName("year", o.Apontamento),

    aí meu código ficou assim:

    var dados = from n in ef.Pontoes
                                orderby n.Data descending
                                select new
                                {
    Data = SqlFunctions.DateName("day", n.Apontamento).Trim() + "/" +
                                    SqlFunctions.StringConvert((Double)n.Apontamento.Month).TrimStart() + "/" +
                                    SqlFunctions.DateName("year", n.Apontamento),

                                    Entrada = n.Entrada,
                                    Saida = n.Saida
                                };
                    this.gvw_dados.DataSource = dados;
                    this.gvw_dados.DataBind();
                    this.gvw_dados.Visible = true;

    • Marcado como Resposta Fernando.Jarcen terça-feira, 5 de março de 2013 15:53
    terça-feira, 5 de março de 2013 15:52