Как обновить таблицу доступа MS - PullRequest
1 голос
/ 19 мая 2009

Как обновить таблицу доступа ms, которая содержит один столбец с несколькими строками. таблица отображается на listview и всякий раз, когда я удаляю строку из listview, эта строка должна удаляться из таблицы. Как я могу это сделать. Используя C #. Я создал соединение Oledb и Я удаляю строку из списка проверяемого элемента. Это код:

if (listView1.CheckedItems.Count > 0)
{
    foreach (ListViewItem lvi in listView1.CheckedItems)
       listView1.Items.Remove(lvi);
}

Теперь, как я могу обновить таблицу MS Access?

1 Ответ

1 голос
/ 19 мая 2009

Просто создайте команду OleDB, которая выполняет SQL-запрос DELETE для строки.

EDIT:
Таблица содержит только один столбец? И этот столбец - то, что вы отображаете в списке? Тогда вы можете сделать что-то вроде этого:

using (OleDBCommand deleteCommand = connection.CreateCommand())
{
  deleteCommand.CommandText = "DELETE FROM tablename WHERE colname=@rowvalue";
  deleteCommand.Parameters.AddWithValue("@rowvalue", YourRowValue);
  deleteCommand.ExecuteNonQuery();
}

Этот фрагмент кода предполагает, что у вас есть открытое соединение с именем OleDBConnection. Просто замените tablename на имя вашей таблицы, colname на имя столбца, а YourRowValue на значение, которое вы хотите удалить, и у вас должно получиться то, что работает.

Чтобы удалить все отмеченные элементы, вы должны инкапсулировать код выше в методе, скажем DeleteItem(string name) и использовать следующее:

List<ListViewItem> itemsToBeDeleted = new List<ListViewItem>(listView1.CheckedItems); 
foreach (ListViewItem itemToDelete in itemsToBeDeleted)
{ 
   DeleteItem(itemToDelete.Text);
   listView1.Items.Remove(itemToDelete); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...