@HelpIT

System.Data.SqlClient.SqlException: «String or binary data would be truncated. The statement has been terminated.»?

protected void btnUpdate_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings
["StudentConnectionString"].ConnectionString);
conn.Open();
SqlCommand cmd;
SqlDataAdapter adapter = new SqlDataAdapter();
String sql = "";

sql = "update Students set firstName = '" + txtBoxfName + "'," +
" lastName = '" + txtBoxlName + "', " +
"studentNo = '" + Convert.ToInt32(txtBoxStudentNo.Text) +
"' where id_student = '" + Convert.ToInt32(txtPK.Text) + "'";

cmd = new SqlCommand(sql, conn);

adapter.InsertCommand = new SqlCommand(sql, conn);
adapter.InsertCommand.ExecuteNonQuery(); // в этой строке появляется проблема
Label2.Text = "student successfully updated";

txtBoxfName.Text = " ";
txtBoxlName.Text = " ";
txtBoxStudentNo.Text = " ";

cmd.Dispose();
conn.Close();

}
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
@Fallenyasha
Сия ошибка означает, что вы пытаетесь записать строку большей длины чем позволяет поле, вероятно firstName или lastName. Данную проверку можно отключить например через SET ANSI_WARNINGS ON|OFF, или же обрезать строку под размер поля.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы