[ Foro de C# ]
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;
}
}
}
}
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.)