powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как удалить строку из базы через ADO?
5 сообщений из 5, страница 1 из 1
Как удалить строку из базы через ADO?
    #32113605
hypnotic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удаляю строку из DataTable. После удаления состояние строки переходит в DataRowState.Deleted. При этом удаляются элементы из св-ва DataRow.ItemArray. Сл-но, не могу составить SQL-запрос для OleDbDataAdapter.DeleteCommand, значит не могу вызвать Update() и удалить строку..?
Пробовал обработать сообщение DataTable.RowDeleting - опять не удаляется из базы..?
Как удалить строку из базы через ADO, если работаю с DataTable?
...
Рейтинг: 0 / 0
Как удалить строку из базы через ADO?
    #32113645
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используй
Код: plaintext
DataTable del=tbl.GetChanges(DataRowState.Deleted);
для составления и выполнения DELETE FROM
после всех удалений из БД
tbl.AcceptChanges();
...
Рейтинг: 0 / 0
Как удалить строку из базы через ADO?
    #32113777
hypnotic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Кузя:
Когда строка помечается как Deleted, из нее удаляются все данные - элементы DataRow.ItemArray. Как же тогда составить запрос на ее удаление?
...
Рейтинг: 0 / 0
Как удалить строку из базы через ADO?
    #32113785
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
DataTable del=tbl.GetChanges(DataRowState.Deleted);
object    val=del.Rows[ 0 ][ "имяполя" , DataRowVersion.Original];
...
Рейтинг: 0 / 0
Как удалить строку из базы через ADO?
    #32113908
SCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SCS
Гость
если используешь OleDbAdapter и сам составляешь команды на Insert, Update и Delete, то лучший способ - параметрические команды
Код: plaintext
1.
2.
3.
OleDbCommand	cm=new OleDbCommand( "DELETE FRM tbl WHERE tbl.a=?" , conn);
OleDbParameter	pm=new OleDbParameter( "P1" , OleDbType.Integer,  4 , ParameterDirection.Input, false,  0 ,  0 ,  "a" , DataRowVersion.Original);
cm.Parameters.Add(pm);
adapter.DeleteCommand=cm;

причем для всех параметров, которые появляются в WHERE используешь DataRowVersion.Original, а для всех остальных DataRowVersion.Current

после всего нужно выполнить
adapter.Update(tbl);
tbl.AcceptChanges();
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как удалить строку из базы через ADO?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]