Форум: "Прочее";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
ВнизОчистка таблицы Найти похожие ветки
← →
Tex © (2007-02-05 13:00) [0]Как быстро очистить таблицу, т.е. удалить все записи? Подскажите, мастера! Мне кажется, что поочередное удаление записей большой таблицы способом Table1.Delete будет долгим, или я не прав?
← →
Desdechado © (2007-02-05 13:22) [1]
Query.SQL.Text:="DELETE FROM TabName";
QueryExecSQL;
В некоторых СУБД есть более быстрые варианты.
← →
Рамиль © (2007-02-05 13:28) [2]truncate, если даст выполнить
← →
Sergey13 © (2007-02-05 13:57) [3]drop table
create table
← →
Gin2 (2007-02-05 14:23) [4]
> Sergey13 © (05.02.07 13:57) [3]
ага и все внешние ключи с констрейтами
← →
Sergey13 © (2007-02-05 14:28) [5]> [4] Gin2 (05.02.07 14:23)
А они там есть? Сомневаюсь. 8-)
Впрочем, может и есть. Но никто ведь не ограничивает мой скрипт только двумя командами. 8-)
← →
Johnmen © (2007-02-05 17:02) [6]
> Gin2 (05.02.07 14:23) [4]
> > Sergey13 © (05.02.07 13:57) [3]
> ага и все внешние ключи с констрейтами
Да ну?
← →
ANB © (2007-02-05 17:37) [7]
> Да ну?
для create :)
← →
Johnmen © (2007-02-05 17:53) [8]
> ANB © (05.02.07 17:37) [7]
Для create? В смысле?
Для него ничего не надо, всё в нём...:)
← →
Tex © (2007-02-06 09:39) [9]Благодарю за помощь, я нашел решение:
begin
try
with Table1 do
begin
Active:=False;
Exclusive:=True;
Active:=True;
try
EmptyTable;
except
ShowMessage("Cannot empty database");
end;
end
except
ShowMessage("cannot open table in exclusive mode");
end
end;
← →
Desdechado © (2007-02-06 11:09) [10]А СУБД так и осталась за гранью узнавания...
← →
Комбинатор (2007-02-06 11:21) [11]
> Sergey13 © (05.02.07 13:57) [3]
>
> drop table
> create table
Бред
← →
evvcom © (2007-02-06 11:29) [12]> [10] Desdechado © (06.02.07 11:09)
Телепатирую: судя по TTable, движок BDE, прямой доступ к таблице, СУБД - Paradox или dBase :)
← →
sniknik © (2007-02-06 11:37) [13]Tex © (06.02.07 09:39) [9]
в твоем решении есть один существенный недостаток... (я бы за такое с работы выгонял. один раз объяснял, а на второй если бы заметил за тем же выгонял...)
ты скрываешь реальные ошибки, если таковые будут, и вместо них пишешь свои домыслы... (обычно этим "грешат" "переводчики", но тут и этого нет)
обслуживать написанную подобным образом программу (ЦТО у вас есть?), практически невозможно... любой пустяк при полной инфе становится глобальной проблемой если инфу прячут.
← →
Desdechado © (2007-02-06 12:06) [14]evvcom © (06.02.07 11:29) [12]
Я тоже телепатировал, но после [1] надеялся что-то услышать от автора.
И расшифрую sniknik © (06.02.07 11:37) [13] для автора.
try в данном случае имеет отрицательный эффект. Лучше показать оригинальную ошибку, дать пользователю ее сохранить и потом передать разработчику, чем играть в угадайку, почему не получилось очистить таблицу.
← →
Tex © (2007-02-06 12:48) [15]Ух... какая бурная реакция )
Всем: Пишу простой справочник, в нем есть записная книжка, в которой можно удалять текущую запись (использую Table1.delete) и хотелось бы сделать опцию удаления всех записей. Таблица зап. книжки не связана ни с какими другими таблицами. Записей в ней предполагается минимум (~100). Спросил же банальность, никто толком не ответил.
To Desdechado ©: Мне и не требуется лезть за грани. Я не программист по профессии. Если бы им был, я бы не просил тут помощи.
evvcom ©: EasyDB
sniknik ©: Да блин, ничего я не скрываю. Проектом занимаюсь (и буду) только я. Привел код, который откопал из многочисленных FAQ, может быть, кому-то будет полезно.
Да со стороны каких-то коммерческих проектов ваши замечания справедливы, но мне вполне вместо этого достаточно было услышать всего лиш пару вариантов и их описаний, типа:Table1.EmptyTable;
Query.SQL.Text:="DELETE FROM TabName";
QueryExecSQL;
и т.п. Вот это было бы действительно полезно и информативно. Но как я уже неоднократно убеждался на этих форумах - пока выпросишь конкретный код (причем всего лиш пару строк, которые копирнуть или даже написать - 1 мин), пройдет не меньше 10 а то и 30-40 (!) сообщений, при этом 20 раз скажут RTFM, еще 10 - минимум рабочего кода - так наброски, по которым все равно ничего не поймешь. Хорошо хоть, обычно, находятся добрые люди, в последнем посте таки выкладывающие точное решение...
P.S. Все равно, всех благодарю за ответы, обязательно сделаю для себя выводы, ибо век живи - век учись ))
← →
Desdechado © (2007-02-06 12:59) [16]Главный вывод, который ты должен сделать, - конкретного кода никто не даст. Дают наброски, достаточные для нахождения решения, если есть желание и мозги. Если их нет, то код не поможет.
Тут просто пытаются сподвигнуть думать, а не поедать готовое.
И, кстати говоря, ответы все были по сути. Если ты их не понял, это твой недостаток, а не отвечающих. Вариантов решения многих проблем бывает масса. И выбор зависит от многих факторов.
И для общего развития http://www.ln.ua/~openxs/articles/smart-questions-ru.html
← →
Johnmen © (2007-02-06 13:00) [17]
> Хорошо хоть, обычно, находятся добрые люди, в последнем
> посте таки выкладывающие точное решение...
Они не добрые, они просто ренегаты.
:)))
← →
sniknik © (2007-02-06 13:13) [18]> Да блин, ничего я не скрываю. Проектом занимаюсь (и буду) только я.
и пользоваться тоже только ты? только дома, и в случае чего запускать под отладчиком? тогда ладно...
но все одно плохая привычка (не ходи с ней на работу).
> достаточно было услышать всего лиш пару вариантов и их описаний, типа:
> Table1.EmptyTable;
без указания от тебя чем(база/компоненты) ты пользуешься? не смеши.
это нормально только в частном (Paradox/dBase. BDE (ну еще наверняка у "левых" компонент есть)) случае. именно по тому что ты привел это и для тебя это подошло тебя и "вычислили" (база/движок в [12])
> Query.SQL.Text:="DELETE FROM TabName";
> QueryExecSQL;
более общее, подходит для всех практически, и присутствует сразу в [1]!!! (о каких 30-40 постах речь???)
> так наброски, по которым все равно ничего не поймешь.
какие вопросы такие и ответы... вернее ответы намного более грамотные и информативные чем можно было бы ожидать... грех жаловаться.
← →
sniknik © (2007-02-06 13:17) [19]> Они не добрые, они просто ренегаты.
да ладно... может только к концу нужная инфа собирается... по крохам.
← →
Tex © (2007-02-06 13:52) [20]Нда, еще 4 поста ни о чем. Пожалуйста, не надо учить жить/задавать вопросы и тп. Это уже флуд. Если учесть что всем понятно какая ДБ используется, вопрос "Как быстро очистить таблицу, т.е. удалить все записи" - максимально конкретен. По поводу "конкретного кода никто не даст" не говорите за других, я не раз получал на этих форумах великолепные ответы, причем без всяких разглагольствований и нравоучений. Больше чем уверен, что многие, если не большинство, ищущие ответы на свои вопросы здесь, подчерпнули гораздо больше знаний, разбирая ответы с конкретными примерами, чем решая пазлы из ошметков кода и темных намеков. Это мое ИМХО и можете говорить что угодно, я уверен в этом. Считаю, тема закрыта, иначе потонет во флуде...
← →
Desdechado © (2007-02-06 14:03) [21]> не надо учить жить/задавать вопросы и тп
Зачем же ты тогда приперся сюда, как не за помощью?
А дареному коню, как известно...
← →
Tex © (2007-02-06 14:10) [22]Я "приперся" (нда, культура) сюда за ответом на свой вопрос. Вот какая помощь была нужна, а не обучение
> жить/задавать вопросы и тп
... А коня своего, сударь, оставьте себе...
← →
Johnmen © (2007-02-06 14:27) [23]
> Tex © (06.02.07 14:10) [22]
Раз ты считаешь, что тебе единственному решать, как должен задаваться вопрос, то почему отказываешь другим в праве решать, как им отвечать на вопросы? А?
← →
sniknik © (2007-02-06 14:30) [24]> Если учесть что всем понятно какая ДБ используется
это не БЫЛО, а СТАЛО понятно, после поста [9], до этого была полная неопределенность, а после уже вроде и ответ стал не нужен...
> Я "приперся" (нда, культура) сюда за ответом на свой вопрос. Вот какая помощь была нужна, а не обучение
как хочеш, только если ты не сделаешь выводов из "обучения" и следующий вопрос задашь также то есть риск не получить ответов вообще. (надежда только на ренегатов ;).
отвечающие тоже не хотят "пазлов", а хотят получить чтото взамен (типа опыта от реальных проблем, например. или приятного стеба... если скучно и нечем занятся. а что, вполне себе замена). решай сам для какого типа ответов ты составляешь вопросы.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.045 c