Удаление записей

MySvetik
Дата: 15.03.2005 07:13:38
Помогите, плиз. В датасет грузится табличка dbf. Первичного ключа нет. Как мне организовать удаление строки ?
Sa
Дата: 15.03.2005 07:29:50

Помогите, плиз. В датасет грузится табличка dbf. Первичного ключа нет. Как мне организовать удаление строки ?

Вы хотите удалить запись по определенному условию, какому?

или эта запись является текущей, например в DataGrid?

uid = Sa
MySvetik
Дата: 15.03.2005 08:02:47
По определенному условию. У меня в датасете, в табличку добавляется новое поле, с именем "Metka", тип boolean, затем юзер в гриде помечает какие то записи, и хочет их удалить(т.е.Metka=True для этих записей). Из датасета удалить не проблема, но как удалить физически из таблицы?
MySvetik
Дата: 15.03.2005 08:03:54
По определенному условию. У меня в датасете, в табличку добавляется новое поле, с именем "Metka", тип boolean, затем юзер в гриде помечает какие то записи, и хочет их удалить(т.е.Metka=True для этих записей). Из датасета удалить не проблема, но как удалить физически из таблицы?
кузя
Дата: 15.03.2005 09:08:00
а что нибудь уникальное для строки есть ?
Sa
Дата: 15.03.2005 11:25:07
присоединяюсь к кузя
Хотя по теории, что-нибудь уникальное в сущности (таблице) должно быть.

Как вариант:
1) Написать sql запрос или ХП принимающее в качестве параметра значение PK и удаляющий данную строку.
2) получить массив этих строк:
Dim rows as DataRow() = myDataTable.Select(criteriaString)
3) Циклом "пробежаться" по массиву записей rows, для каждой записи вызвать процедуру удаления БД передавая значение уникального ключа в качестве параметра.
4) Если требуется удалить запись из DataTable методом Delete
5) Закоммитить изменения в DataTable.

uid = Sa
Va1entin
Дата: 15.03.2005 14:06:01

Смотря какой DBF... (Dbase/ForPro)
И смотря какой драйвер используется.
Может быть так, что при отсутствии первичного ключа
удаление вообще невозможно.
Тогда надо будет создать этот ключ.

Posted via ActualForum NNTP Server 1.1