Перейти к содержимому

Как удалить строку в visual studio

  • автор:

Практическое руководство. Как удалить строки из базы данных

Вы можете удалить строки в базе данных, удалив соответствующие объекты LINQ to SQL из коллекции, связанной с таблицами. LINQ to SQL преобразует изменения в соответствующие команды SQL DELETE .

LINQ to SQL не поддерживает и не распознает операции каскадного удаления. Если требуется удалить строку в таблице, имеющей ограничения, необходимо выполнить любую из следующих задач.

  • Установите правило ON DELETE CASCADE в ограничении внешнего ключа в базе данных.
  • Используйте собственный код, чтобы сначала удалить дочерние объекты, не допускающие удаление родительского объекта.

В противном случае создается исключение. См. второй пример кода далее в этом разделе.

Вы можете переопределить LINQ to SQL методы по умолчанию для Insert операций с базой данных , Update и Delete . Дополнительные сведения см. в разделе Настройка операций вставки, обновления и удаления.

Разработчики, использующие Visual Studio, могут использовать реляционный конструктор объектов для разработки хранимых процедур с той же целью.

В следующих шагах предполагается, что подключение к базе данных Northwind выполняется с помощью допустимого объекта DataContext. Дополнительные сведения см. в разделе Практическое руководство. Подключение к базе данных.

Удаление строки в базе данных

  1. Отправьте в базу данных запрос на удаляемую строку.
  2. Вызовите метод DeleteOnSubmit.
  3. Отправьте изменение в базу данных.

Пример 1

В первом примере кода в базу данных отправляется запрос на сведения о заказе «Order #11000», помечаются сведения для удаления, а изменения отправляются в базу данных.

// Query the database for the rows to be deleted. var deleteOrderDetails = from details in db.OrderDetails where details.OrderID == 11000 select details; foreach (var detail in deleteOrderDetails) < db.OrderDetails.DeleteOnSubmit(detail); >try < db.SubmitChanges(); >catch (Exception e) < Console.WriteLine(e); // Provide for exceptions. >
' Query the database for the rows to be deleted. Dim deleteOrderDetails = _ From details In db.OrderDetails() _ Where details.OrderID = 11000 _ Select details For Each detail As OrderDetail In deleteOrderDetails db.OrderDetails.DeleteOnSubmit(detail) Next Try db.SubmitChanges() Catch ex As Exception Console.WriteLine(ex) ' Provide for exceptions End Try 

Пример 2

Целью второго примера является удаление заказа (с номером 10250). Код сначала проверяет таблицу OrderDetails на наличие в ней дочерних элементов удаляемого заказа. Если в таблице есть дочерние элементы заказа, сначала они, а затем сам заказ помечаются для удаления. DataContext располагает фактические действия по удалению в надлежащей последовательности, чтобы команды удаления, отправляемые в базу данных, подчинялись ее ограничениям.

Northwnd db = new Northwnd(@"c:\northwnd.mdf"); db.Log = Console.Out; // Specify order to be removed from database int reqOrder = 10250; // Fetch OrderDetails for requested order. var ordDetailQuery = from odq in db.OrderDetails where odq.OrderID == reqOrder select odq; foreach (var selectedDetail in ordDetailQuery) < Console.WriteLine(selectedDetail.Product.ProductID); db.OrderDetails.DeleteOnSubmit(selectedDetail); >// Display progress. Console.WriteLine("detail section finished."); Console.ReadLine(); // Determine from Detail collection whether parent exists. if (ordDetailQuery.Any()) < Console.WriteLine("The parent is present in the Orders collection."); // Fetch Order. try < var ordFetch = (from ofetch in db.Orders where ofetch.OrderID == reqOrder select ofetch).First(); db.Orders.DeleteOnSubmit(ordFetch); Console.WriteLine("OrderID is marked for deletion.", ordFetch.OrderID); > catch (Exception e) < Console.WriteLine(e.Message); Console.ReadLine(); >> else < Console.WriteLine("There was no parent in the Orders collection."); >// Display progress. Console.WriteLine("Order section finished."); Console.ReadLine(); try < db.SubmitChanges(); >catch (Exception e) < Console.WriteLine(e.Message); Console.ReadLine(); >// Display progress. Console.WriteLine("Submit finished."); Console.ReadLine(); 
Dim db As New Northwnd("c:\northwnd.mdf") db.Log = Console.Out ' Specify order to be removed from database. Dim reqOrder As Integer = 10252 ' Fetch OrderDetails for requested order. Dim ordDetailQuery = _ From odq In db.OrderDetails _ Where odq.OrderID = reqOrder _ Select odq For Each selectedDetail As OrderDetail In ordDetailQuery Console.WriteLine(selectedDetail.Product.ProductID) db.OrderDetails.DeleteOnSubmit(selectedDetail) Next ' Display progress. Console.WriteLine("Detail section finished.") Console.ReadLine() ' Determine from Detail collection whether parent exists. If ordDetailQuery.Any Then Console.WriteLine("The parent is present in the Orders collection.") ' Fetch order. Try Dim ordFetch = _ (From ofetch In db.Orders _ Where ofetch.OrderID = reqOrder _ Select ofetch).First() db.Orders.DeleteOnSubmit(ordFetch) Console.WriteLine(" OrderID is marked for deletion.,", ordFetch.OrderID) Catch ex As Exception Console.WriteLine(ex.Message) Console.ReadLine() End Try Else Console.WriteLine("There was no parent in the Orders collection.") End If ' Display progress. Console.WriteLine("Order section finished.") Console.ReadLine() Try db.SubmitChanges() Catch ex As Exception Console.WriteLine(ex.Message) Console.ReadLine() End Try ' Display progress. Console.WriteLine("Submit finished.") Console.ReadLine() 

См. также раздел

  • Практическое руководство. Как управлять конфликтами изменений
  • Практическое руководство. Назначение хранимых процедур для выполнения обновления, вставки и удаления (реляционный конструктор объектов)
  • Внесение и отправка изменений данных

Как удалить строку

Как удалить строку в БД
Привет всем. Есть форма, кнопка удалить удаляет строку в БД, нужно сделать так, что бы когда он.

Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку
3 двунаправленный линейный список строк.требуется вставить строку после строки с номером и удалить.

Как удалить строку в БД
Не пойму почему не работает. <?php $dbs = mysqli_connect ("localhost", "busoop8x_oc".

как удалить строку
создаю консольное приложение, программа должна принимать n количество оценок, каждую оценку.

11501 / 3788 / 679
Регистрация: 13.02.2009
Сообщений: 11,191
Организуй цикл от последней строки до первой с шагом -1
Регистрация: 28.03.2017
Сообщений: 28

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Private Function naef_NotifDelete(ByVal notifId) naef_NotifDelete=False Dim r With document.frm.pmtProp if .Rows > 0 Then r=.Rows Do While r > 0 If .Cell(r, NAPE_PMTCOL_NOTIFID) = notifId Then .Rows(r).Delete End If r = r - 1 Loop End If End With naef_NotifDelete=True End Function

Ошибка та же. Цикл выполняется. На нужной строчке у меня

.Rows(r).Delete

ошибка. Не правильный синтаксис. Подскажите как правильно удалять строку

Текст ошибки
Error: Wrong number of arguments or invalid property assigment ‘Rows’

Добавлено через 5 минут
перепробовал следующие варианты

.Cell(r, NAPE_PMTCOL_NOTIFID).EntireRow.Delete
.Row(r).Delete
.Rows(r).Delete

11501 / 3788 / 679
Регистрация: 13.02.2009
Сообщений: 11,191
NAPE_PMTCOL_NOTIFID — чему равна?
в этой процедуре она не назначается
Вложения

удалить.rar (13.2 Кб, 4 просмотров)

Регистрация: 28.03.2017
Сообщений: 28

Alex77755Это заполненная таблица в html
Эту функцию я вызываю и передаю значение notifId. Сам цикл работает, находит нужную строчки, но не удаляет

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
With document.frm.pmtProp .HeaderHeight = 600 .Cols = NAPE_PMTCOL_COLS .Cell(-1, NAPE_PMTCOL_NN) = "NN" .ColWidth(NAPE_PMTCOL_NN) = 500 .Cell(-1, NAPE_PMTCOL_CNT) = "Количество" .ColWidth(NAPE_PMTCOL_CNT) = 1000 .Cell(-1, NAPE_PMTCOL_COSTACC) = "Цена на основе бухгалтерских данных" .ColWidth(NAPE_PMTCOL_COSTACC) = 2000 .Cell(-1, NAPE_PMTCOL_COSTINDEP) = "Цена независимой оценки" .ColWidth(NAPE_PMTCOL_COSTINDEP) = 2000 .Cell(-1, NAPE_PMTCOL_DESCRKAZ) = "Описание имущества на казахском языке" .ColWidth(NAPE_PMTCOL_DESCRKAZ) = 3700 .Cell(-1, NAPE_PMTCOL_DESCRRUS) = "Описание имущества на русском языке" .ColWidth(NAPE_PMTCOL_DESCRRUS) = 10700 .ColWidth(NAPE_PMTCOL_NOTIFID) = 0 ' Id notification` .ColWidth(NAPE_PMTCOL_OBJECTUID) = 0 End With

Добавлено через 6 минут

ЦитатаСообщение от Alex77755 Посмотреть сообщение

NAPE_PMTCOL_NOTIFID — чему равна?
в этой процедуре она не назначается

Это стринговое значение, которое уже заполнено. Из другого списка выбираю какое то уведомление, где берется индификатор и прогоняется по всей таблице. Таблица не Excel

11501 / 3788 / 679
Регистрация: 13.02.2009
Сообщений: 11,191
Таблица не Excel
А в чём?
там может быть другой синтаксис
Регистрация: 28.03.2017
Сообщений: 28

Alex77755DataGridView. Посоветуйте как еще можно обратиться в VBS кроме этих команд на удаление

.Cell(r, NAPE_PMTCOL_NOTIFID).EntireRow.Delete
.Row(r).Delete
.Rows(r).Delete

Добавлено через 29 минут
Alex77755
Существует ли какой то профайлер, что бы можно было отследить что происходит при нажатий клавиши Delete(т.к. строки удаляются таким способом)? Я предпологаю что это DataGrid.

object id='pmtProp' style='width:100%; height:450px'>/object>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
' Описать колонки таблицы имущества. Private Function naef_InitPmtProp() naef_InitPmtProp=False With document.frm.pmtProp .HeaderHeight = 600 .Cols = NAPE_PMTCOL_COLS .Cell(-1, NAPE_PMTCOL_NN) = "NN" .ColWidth(NAPE_PMTCOL_NN) = 500 .Cell(-1, NAPE_PMTCOL_CNT) = "Количество" .ColWidth(NAPE_PMTCOL_CNT) = 1000 .Cell(-1, NAPE_PMTCOL_COSTACC) = "Цена на основе бухгалтерских данных" .ColWidth(NAPE_PMTCOL_COSTACC) = 2000 .Cell(-1, NAPE_PMTCOL_COSTINDEP) = "Цена независимой оценки" .ColWidth(NAPE_PMTCOL_COSTINDEP) = 2000 .Cell(-1, NAPE_PMTCOL_DESCRKAZ) = "Описание имущества на казахском языке" .ColWidth(NAPE_PMTCOL_DESCRKAZ) = 3700 .Cell(-1, NAPE_PMTCOL_DESCRRUS) = "Описание имущества на русском языке" .ColWidth(NAPE_PMTCOL_DESCRRUS) = 10700 .ColWidth(NAPE_PMTCOL_NOTIFID) = 0 ' Id notification` .ColWidth(NAPE_PMTCOL_OBJECTUID) = 0 End With naef_InitPmtProp=True End Function

Удалить строку или элемент строки

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Кнопка

Совет. Видео не на вашем языке? Попробуйте выбрать Скрытые субтитры .

Примечание: Не видите план? Возможно, у вас нет нужной лицензии или администратор должен включить ее.

Проверьте, как это работает!

Удаление этапа или ключевой даты из строки плана

  1. Выберите элемент и нажмите кнопку открыть подробности.
  2. Выберите удалить этап или Удалить ключевую дату.

Примечание: Это действие не приводит к изменению подключенного проекта. Он только отключает этап или ключевую дату из этого плана.

Отключение всей строки в плане

  1. Выберите имя строки.
  2. Нажмите кнопку Удалить строку.

Примечание: Это действие не приводит к изменению подключенного проекта. Она только удаляет строку из этого плана.

Как удалить строку кода(хоткей)?

По хоткею удалить/вырезать/скопировать строку, на которой находится курсор.
Аналог — Ctrl+Y/X в Rider.

  • Вопрос задан более трёх лет назад
  • 9393 просмотра

Комментировать

Решения вопроса 0

Ответы на вопрос 3

Drovosek01 @Drovosek01

Удалить строку, в которой стоит курсор, можно с помощью Shift + Delete (при этом она копируется в буфер обмена).

Ответ написан более трёх лет назад

Нравится 9 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar