2009-05-19 3 views
1

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

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

Теперь, как обновить таблицу ms acesss?

+1

вам не нужен, если состояние .. Еогеасп перечисляется только если есть что-то внутри коллекция – nawfal

ответ

1

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

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

using (OleDBCommand deleteCommand = connection.CreateCommand()) 
{ 
    deleteCommand.CommandText = "DELETE FROM tablename WHERE [email protected]"; 
    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); 
} 
+0

thnax, но когда я удаляю строку из списка, проверял элемент, то ..... как обновить – ankush