Espero que se encuentren bien,
tengo un objeto tipo cita e inserto lo que hay de ese grid de esta manera.
Código
gridobjeto.Cedula_paciente = (string)dgvCitas.Rows[e.RowIndex].Cells["Cedula_Paciente"].Value; gridobjeto.Paciente = (string)dgvCitas.Rows[e.RowIndex].Cells["Paciente"].Value; gridobjeto.Cedula_doctor = (int)dgvCitas.Rows[e.RowIndex].Cells["Cedula_doctor"].Value; gridobjeto.Doctor = (string)dgvCitas.Rows[e.RowIndex].Cells["Doctor"].Value; gridobjeto.Especialidad = (string)dgvCitas.Rows[e.RowIndex].Cells["Especialidad"].Value; gridobjeto.Servicio = (string)dgvCitas.Rows[e.RowIndex].Cells["Servicio"].Value; gridobjeto.Hora_cita = (DateTime)dgvCitas.Rows[e.RowIndex].Cells["Hora_cita"].Value; gridobjeto.Fecha_Cita = (DateTime)dgvCitas.Rows[e.RowIndex].Cells["Fecha_cita"].Value; formulario.objetocita = gridobjeto; formulario.cargarcitas(gridobjeto); formulario.Show();
Tengo un codigo que recibe ese objeto y lo pasa a los controles
Código
Public void cargarcitas(Citas cita){ List<Citas> citasEncontradas = null; citasEncontradas = citasLN.ConsultarTodos_Fecha(objetocita); foreach (Citas lista in citasEncontradas) { txtCed_Doctor.Text = lista.Cedula_doctor.ToString(); cboEspecialidad.Text = lista.Especialidad.ToString(); txtDoctor.Text = lista.Doctor; txtHoraCita.Text = lista.Hora_cita.ToString(); txtNombrePaciente.Text = lista.Paciente; txtPaciente.Text = lista.Cedula_paciente ; cboServicios.Text = lista.Servicio.ToString(); dtpFecha.Value = Convert.ToDateTime(lista.Fecha_Cita); } } //Acá está el método para actualizar los datos cita.Cedula_doctor = Convert.ToInt32(txtCed_Doctor.Text); cita.Doctor = txtDoctor.Text; cita.Cedula_paciente = txtPaciente.Text; cita.Paciente = txtNombrePaciente.Text; cita.Especialidad = cboEspecialidad.SelectedText; cita.Servicio = cboServicios.SelectedText; cita.Fecha_Cita = Convert.ToDateTime(dtpNuevo.Value.Date); cita.Hora_cita = Convert.ToDateTime(txtNuevaHora.Text); cita.Estado_cita = "Pendiente"; //Instancimiento de la capa de Lógico de Negocios a la capa de Acceso de Datos. citaLN.Reprogramar_Cita(cita); limpiar(); MessageBox.Show("Se reprogramó la cita con éxito.");
Este es mi query para realizar el update
Código
string sql = "UPDATE tbo_Citas SET Cedula_Paciente ='" + cita.Cedula_paciente + "', Nombre_Paciente ='" + cita.Paciente + "', Cedula_Doctor =" + cita.Cedula_doctor + ", Nombre_Doctor='" + cita.Doctor + "', Especialidad_Doctor ='" + cita.Especialidad + "', Servicio = '" + cita.Servicio + "', Hora_Cita ='" + cita.Hora_cita + "', Fecha ='" + cita.Fecha_Cita + "' where Fecha ='" + cita.Fecha_Cita + "' and Hora_cita = '" + cita.Hora_cita + "'";
Este es el query en el motor base de datos(versión resumida)
Código
UPDATE [ControlCitas].[dbo].[tbo_Citas] SET [Cedula_Paciente] = 'a' ,[Nombre_Paciente] = 'b' WHERE Fecha = '15/08/2014' AND Hora_Cita = '05:30' GO
Cuando realizo todo ese procedimiento el query no se ejecuta, ya lo intenté hacerlo por separado en el sql tampoco hace el query, mi pregunta es, que carajos estoy haciendo mal!!, si en los otros métodos cuando busco por fecha y hora si me retorna resultados.
A la hora de cargar el grid en los campos se me cargan los demás bien, pero el dato hora se me carga con otro valor
Es un masked textbox con format de hora
txtHoraCita.Text = lista.Hora_cita.ToString();
Ya lo he formateado cualquier cantidad de veces y nada, no entiendo, ni siquiera en el sql hace el query!
trabajo con c#, vs 2010 y sqlserver 2008 Express.
Les agradecería que me digan que problema tengo, gracias de antemano.