Таблица не имеет первичного ключа.
Как правило, мне нужно удалить строку из datatable в dataset.my таблица имеет первичный ключ.
я проверил это много раз, но при выводе ниже кода получаю ошибку типа
Таблица не имеет первичного ключа.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.MissingPrimaryKeyException: таблица не имеет первичного ключа.
Ошибка Источника:
Строка 78: {
Строка 79: DataTable dt = ds.Tables[0];
Строка 80: DataRow dr = dt.Rows.Find(0);
Строка 81: dr.Delete();
Строка 82: dt.AcceptChanges();
Доктор строкаданных = ДТ.Строк.Найти(0);-----&это заявление сделать ошибку.
вставка,обновление работали правильно, но удаление не работало
Mycode:
protected void Button4_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("Data Source=AMMA-PC\\SQLEXPRESS;Initial Catalog=E_learn;Integrated Security=True"); string query="select * from Student where sid="+TextBox1.Text; SqlDataAdapter da = new SqlDataAdapter(query, con); SqlCommandBuilder br = new SqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds, "Student"); if (ds.Tables[0].Rows.Count > 0) { DataTable dt = ds.Tables[0]; DataRow dr = dt.Rows.Find(0); dr.Delete(); dt.AcceptChanges(); da.Update(ds, "Student"); Response.Write("deleted successfully"); } }
пожалуйста, помогите мне.
спасибо тебе.
Что я уже пробовал:
Таблица не имеет первичного ключа.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.MissingPrimaryKeyException: таблица не имеет первичного ключа.
Ошибка Источника:
Строка 78: {
Строка 79: DataTable dt = ds.Tables[0];
Строка 80: DataRow dr = dt.Rows.Find(0);
Строка 81: dr.Delete();
Строка 82: dt.AcceptChanges();
Доктор строкаданных = ДТ.Строк.Найти(0);-----&это заявление сделать ошибку.
Patrice T
sid-это цифра или альфа ?