Я пытаюсь изменить таблицу в своей базе данных, но когда дело доходит до выбора работы около тридцати секунд, осталось зацепиться, а затем представляет ошибку тайм-аута. Я использую Sql-сервер 2012 и C#.значение тайм-аута при выполнении метода
Здесь код и структура таблицы.
Таблица Estudiante
IdEstudiante Int,
Est_PrimerNombre varchar(15),
Est_SegundoNombre varchar(15),
Est_PrimerApellido varchar(15),
Est_SegundoApellido varchar(15),
Est_FechaNacimiento datetime,
Est_Edad Int,
IdTutor Int,
IdCurso Int,
Est_CuotaMensual numeric(18,2),
IdAnioEscolar Int,
Est_NumeroSegSocial varchar(20),
Est_NumeroAfiliado varchar(20),
Est_CompaniaAseguradora varchar(50),
Est_Estado Int
И код:
public void EditEstudiante()
{
SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["cnxString"].ToString());
cnx.Close();
query = @"UPDATE Estudiante SET
Est_PrimerNombre = @Est_PrimerNombre,
Est_SegundoNombre = @Est_SegundoNombre,
Est_PrimerApellido = @Est_PrimerApellido,
Est_SegundoApellido = @Est_SegundoApellido,
Est_FechaNacimiento = @Est_FechaNacimiento,
Est_Edad = @Est_Edad,
IdTutor = @IdTutor,
IdCurso = @IdCurso,
Est_CuotaMensual = @Est_CuotaMensual,
IdAnioEscolar = @IdAnioEscolar,
Est_NumeroSegSocial = @Est_NumeroSegSocial,
Est_NumeroAfiliado = @Est_NumeroAfiliado,
Est_CompaniaAseguradora = @Est_CompaniaAseguradora,
Est_Estado = @Est_Estado
WHERE IdEstudiante = @IdEstudiante";
SqlCommand cmd = new SqlCommand(query, cnx);
cmd.Parameters.AddWithValue("@Est_PrimerNombre", edtPNombre.Text);
cmd.Parameters.AddWithValue("@Est_SegundoNombre", edtSNombre.Text);
cmd.Parameters.AddWithValue("@Est_PrimerApellido", edtPApellido.Text);
cmd.Parameters.AddWithValue("@Est_SegundoApellido", edtSApellido.Text);
cmd.Parameters.AddWithValue("@Est_FechaNacimiento", Convert.ToDateTime(dtpFechaNac.Value));
cmd.Parameters.AddWithValue("@Est_Edad", Convert.ToInt32(edtEdad.Text));
cmd.Parameters.AddWithValue("@IdTutor", Convert.ToInt32(edtTutor.Text));
cmd.Parameters.AddWithValue("@IdCurso", Convert.ToInt32(cbCurso.Text));
cmd.Parameters.AddWithValue("@Est_CuotaMensual", edtCuota.Text);
cmd.Parameters.AddWithValue("@IdAnioEscolar", Convert.ToInt32(cbAnioEscolar.Text));
cmd.Parameters.AddWithValue("@Est_NumeroSegSocial", edtNumeroSeguroSocial.Text);
cmd.Parameters.AddWithValue("@Est_NumeroAfiliado", edtNumeroAfiliado.Text);
cmd.Parameters.AddWithValue("@Est_CompaniaAseguradora", edtCompaniaSeguro.Text);
cmd.Parameters.AddWithValue("@Est_Estado", Convert.ToInt32(cbEstado.Text));
cmd.Parameters.AddWithValue("@IdEstudiante", Convert.ToInt32(IdTemp));
cnx.Open();
cmd.ExecuteNonQuery();
cnx.Close();
MessageBox.Show("Estudiante Modificado");
}
Установить cmd.CommandTimeout на что-то> 30. –
Это не должно занимать больше 30 секунд. Я могу только представить себе кошмар триггеров и столовых замков, которые когда-либо будут причиной этого. – TyCobb
Я не знаю, решит ли это вашу проблему, но ваши 'SqlConnection' и' SqlCommand' должны находиться в 'использовании' блоков. –