none
conversao de dados RRS feed

  • Pergunta

  • Bom dia pessoal,

    Estou com um probleminha aqui, tenho uma maskedTextBox com a seguinte data dd/mm/yyyy, esta faz parte de um formulario que preciso gravar em sql em um campo que int que esta neste formato yyyymmdd, alguem pode me ajudar como faço pra converter esta data?

    Alexandre

    quarta-feira, 19 de setembro de 2012 11:17

Respostas

  • Alexande você pode fazer a conversão do seu Text vindo do maskedTextBox para DateTime e logo em seguida usar do método ToString() passando como parametro uma string representando o formato que você quer. Por exemplo:

    Convert.ToDateTime(meuMaskedTextBox.Text).ToString("yyyyMMdd");

    No caso o MM representa o mês em forma numérica pois mm (minusculo são minutos), você pode consultar os tipos de formato suportado quando usamos o método ToString() em uma variavel do tipo DateTime:
    http://msdn.microsoft.com/pt-br/library/8kb3ddd4%28v=vs.80%29.aspx

    Agora é só converter este resultado acima para int e passar como parametro para gravar no banco de dados.

    int.Parse(Convert.ToDateTime(meuMaskedTextBox.Text).ToString("yyyyMMdd"));


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Leonardo N. D'Amato quarta-feira, 19 de setembro de 2012 12:52
    • Marcado como Resposta AlxnMoretto quarta-feira, 19 de setembro de 2012 13:29
    quarta-feira, 19 de setembro de 2012 12:12
  • Bom dia Vitor, obrigado pela pronta respostas.

    Só mais uma coisa, como faço para inserir o valor no meu comando insert?

    Alexandre


    Veja este trecho de código abaixo:

    int parametro = int.Parse(Convert.ToDateTime(meuMaskedTextBox.Text).ToString("yyyyMMdd"));
    
    try
    {
        using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("SUA STRING DE CONEXAO"))
        using (System.Data.SqlClient.SqlCommand cmd = conn.CreateCommand())
        {
            cmd.CommandText = "INSERT INTO SuaTabela (NomeColuna) VALUES (@ParametroInt)";
            cmd.Parameters.Add("@ParametroInt", SqlDbType.Int).Value = parametro;
    
            conn.Open();
    
            cmd.ExecuteNonQuery();
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }

    Procure na internet por "usando SQL .NET", você vai ver ótimos site ensinando como trabalho com SQL usando .NET.

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Marcado como Resposta AlxnMoretto quarta-feira, 19 de setembro de 2012 13:28
    quarta-feira, 19 de setembro de 2012 12:37

Todas as Respostas

  • Alexande você pode fazer a conversão do seu Text vindo do maskedTextBox para DateTime e logo em seguida usar do método ToString() passando como parametro uma string representando o formato que você quer. Por exemplo:

    Convert.ToDateTime(meuMaskedTextBox.Text).ToString("yyyyMMdd");

    No caso o MM representa o mês em forma numérica pois mm (minusculo são minutos), você pode consultar os tipos de formato suportado quando usamos o método ToString() em uma variavel do tipo DateTime:
    http://msdn.microsoft.com/pt-br/library/8kb3ddd4%28v=vs.80%29.aspx

    Agora é só converter este resultado acima para int e passar como parametro para gravar no banco de dados.

    int.Parse(Convert.ToDateTime(meuMaskedTextBox.Text).ToString("yyyyMMdd"));


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Leonardo N. D'Amato quarta-feira, 19 de setembro de 2012 12:52
    • Marcado como Resposta AlxnMoretto quarta-feira, 19 de setembro de 2012 13:29
    quarta-feira, 19 de setembro de 2012 12:12
  • Bom dia Vitor, obrigado pela pronta respostas.

    Só mais uma coisa, como faço para inserir o valor no meu comando insert?

    Alexandre

    quarta-feira, 19 de setembro de 2012 12:30
  • Bom dia Vitor, obrigado pela pronta respostas.

    Só mais uma coisa, como faço para inserir o valor no meu comando insert?

    Alexandre


    Veja este trecho de código abaixo:

    int parametro = int.Parse(Convert.ToDateTime(meuMaskedTextBox.Text).ToString("yyyyMMdd"));
    
    try
    {
        using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("SUA STRING DE CONEXAO"))
        using (System.Data.SqlClient.SqlCommand cmd = conn.CreateCommand())
        {
            cmd.CommandText = "INSERT INTO SuaTabela (NomeColuna) VALUES (@ParametroInt)";
            cmd.Parameters.Add("@ParametroInt", SqlDbType.Int).Value = parametro;
    
            conn.Open();
    
            cmd.ExecuteNonQuery();
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }

    Procure na internet por "usando SQL .NET", você vai ver ótimos site ensinando como trabalho com SQL usando .NET.

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Marcado como Resposta AlxnMoretto quarta-feira, 19 de setembro de 2012 13:28
    quarta-feira, 19 de setembro de 2012 12:37
  • Obrigado pela resposta, tudo certo aqui.
    quarta-feira, 19 de setembro de 2012 13:29