maikl |
Отправлено: 26.12.2003, 09:11 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Скажите пожалуйста как можно удалить все данные из поля таблицы. Я умаю надо писать так :
Table1->FieldByName("Gruppa")->...
А что дальше не знаю. Если это не так, то подскажите как надо сделать. В таблице у меня несколько полей, в других полях удалятся ничего не должно. |
|
Nick |
Отправлено: 26.12.2003, 14:46 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
Если таблица маленькая сойдет и
Table -> First();
while (! Table->Eof )
{
Table->Edit();
Table->FieldByName("Group")-> ... = ...
Table->Post();
Table->Next();
};
Table->First(); // или как нибудьдобраться обратно
Если большая:
Делаешь запрос
"Update TableName
Set
FieldName = Значение
where условие"
Потом Refresh таблицы.
|
|
maikl |
Отправлено: 26.12.2003, 15:34 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Огромное спасибо, но я не совсем понял что в Table->FieldByName("Group")-> ... = ... ,за место ... писать, я попробывал:
Table->FieldByName("Group")-> AsString = ""; Появляется ошибка, программа компилируется, но это не работает.
И как определить маленькая таблица, или большая, у меня будет в ней около 40 записей, я думаю это не много.
А насчет всего этого я придумал другой алгоритм, в начале определить сколько записей в таблице, присвоить значению i это количество, и дальше уже в цикле зная сколько у меня записей, удалять все что мне необходимо. Проблема в том что я не знаю какой функцией определить сколько у меня записей в таблице, можно конечно посчитать с помощью алгоритма который ты предложил выше, но тогда зачем мне все это нужно, в общем все равно у тебя наверное быстрее будет работать, если все же такая функция есть, то скажи хочу проверить на это практике. |
|
maikl |
Отправлено: 26.12.2003, 15:45 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Все заработало, просто я забыл отключить кеширование, там ничего в таблице у меня не хранилось, только в памяти, вот и показывал ошибку, теперь все в порядке. Огромное спасибо. |
|
pasha |
Отправлено: 26.12.2003, 17:13 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
В цикле:
CODE |
Table->First();
while(!Table->Eof)
{
Table->Edit();
Table->FieldByName("Group")->Clear();
Table->Post();
Table->Next();
}
|
а быстрее и правильнее, как написал Nick
через SQL-запрос:
"Update TableName set FieldName = NULL"
Отредактировано pasha — 26/12/2003, 19:18 |
|
maikl |
Отправлено: 27.12.2003, 07:44 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Конечно быстрее через SQL это делать, я и не спорю, а лучше так же знать как это можно сделать и без него, всегда пригодится. |
|