База данных(удаление)
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



База данных(удаление) Expand / Collapse
Автор
Сообщение
10.08.2006 10:29
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 23.08.2006 10:48
Сообщ.: 10, Visits: 12
Есть такой пример

В таблице есть несколько строк с одинаковым значением id_student

Нужно удалить все строки со определённым значением id_student

Делаю так

da_est.DeleteCommand = new OleDbCommand("delete from List_estimations " +

"where (id_student = " + id.ToString() + ")", dc);

DataRow[] rows = ds.Tables["List_estimations"].Select("id_student = " +

id.ToString() + "");

rows[0].Delete();

da_est.Update(ds, "List_estimations");

Я одной командой удаляю несколько строк. Как то коряво получается.

Можно ли это сделать более красиво и правильно ли я вообще делаю?

Сообщ. #902440
10.08.2006 13:29
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 23.08.2006 10:48
Сообщ.: 10, Visits: 12
Понял как с этим работать - используется RealtionShip.

//создание поделючения

OleDbConnection dc = new OleDbConnection(conn_string);

dc.Open();

OleDbDataAdapter da = new OleDbDataAdapter(

"select id_student, Surname, Name, LastName, type_learn, dateborn, " +

"id_group from List_students", dc);

OleDbDataAdapter da_est = new OleDbDataAdapter(

"select * from List_estimations where (id_student = " +

id.ToString() + ")", dc);

//команды удаления

da.DeleteCommand = new OleDbCommand("delete from List_students where " +

"(id_student = @id_student)", dc);

da.DeleteCommand.Parameters.Add("@id_student",

OleDbType.Integer, 4, "id_student");

da_est.DeleteCommand = new OleDbCommand("delete from List_estimations " +

"where id_estimation = @id_estimation", dc);

da_est.DeleteCommand.Parameters.Add("@id_estimation",

OleDbType.Integer, 4, "id_estimation");

//заполнение данными

DataSet ds = new DataSet("List_students; List_estimations");

da.Fill(ds, "List_students");

da_est.Fill(ds, "List_estimations");

DataRelation rel = new DataRelation("id_student",

ds.Tables["List_students"].Columns["id_student"],

ds.Tables["List_estimations"].Columns["id_student"]);

ds.Relations.Add(rel);

//само удаление

DataRow row = ds.Tables["List_students"].Select("id_student = '" +

id.ToString() + "'")[0];

row.Delete();

da.Update(ds, "List_students");

da_est.Update(ds, "List_estimations");

dc.Close();

Сообщ. #902455
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:03