[ Foro de C# ]

ingresar fecha en base de datos

18-Nov-2013 02:44
Erario Santa Cruz
1 Respuestas

Como puedo introducir una fecha seleccionada con un monthCalendar


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            maskedTextBox1.Text = monthCalendar1.SelectionRange.Start.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            int dni = int.Parse(textBox1.Text);
            string mesamasc = textBox2.Text;
            string apelmasc = textBox3.Text;
            string nommasc = textBox4.Text;
            string fecnac = maskedTextBox1.Text;
            string foto = label6.Text;
            string provedor = "Provider = Microsoft.Jet.OLEDB.4.0;" + "Data source = C:\\Users\\Erario\\Documents\\pArcial.mdb";
            OleDbConnection conn = new OleDbConnection(provedor);
            conn.Open();
            string formato = string.Format("insert into PadronMasculino (DNI,Mesa,Apellido,Nombre,FechaNacimiento,Foto) values ({0},'{1}','{2}','{3}','{4}','{5}')", dni, mesamasc, apelmasc, nommasc, fecnac, foto);
            OleDbCommand command = new OleDbCommand(formato, conn);
            int lineas = command.ExecuteNonQuery();
            if (lineas > 0)
            {
                MessageBox.Show("Datos almacenados exitosamente");
            }
            else
            {
                MessageBox.Show("Los datos no han sido almacenados");
            }
            conn.Close();
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            maskedTextBox1.Text = "";
            pictureBox1.Image = null;
            textBox1.Focus();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog Abrir = new OpenFileDialog();
            Abrir.Filter = "Archivos PNG(*.png)|*.png";
            Abrir.InitialDirectory = "C:\\";
            if (Abrir.ShowDialog() == DialogResult.OK)
            {
                String Dir = Abrir.FileName;
                Bitmap Picture = new Bitmap(Dir);
                pictureBox1.Image = (Image)Picture;
                label6.Text = Abrir.FileName;
            }
        }
    }
}



18-Nov-2013 23:12
Nacho Cabanes (+83)

Tienes que comparar el formato de tu fecha (ese "string fecnac = maskedTextBox1.Text;") con el formato que espere tu gestor de bases de datos:

Es habitual que las bases de datos esperen la fecha en formato AAAA-MM-DD (año con cuatro cifras, mes y día, separados por guiones o barras), pero supongo que tu selector visual de fechas (calendar) te estará devolviendo una fecha en el formato de tu país (típicamente DD-MM-AAAA). Si ambos formatos no coinciden, no podrás guardar los datos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)