Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 18:16   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию TClientDataSet. Как создать новую БД (очистить старую)?

Вот решил выучить БД... )
Возник вопрос. Допустим, на форме есть DataSet и функция, которая с помощью Append'а записывает в DataSet несколько (пусть будет 5) записей в БД и сохраняет её. Получаем такую картинку:
При первом запуске проги и вызове функции мы получим файл БД с 5 записями, но если второй раз вызвать эту функцию, то мы получим уже 10 запись, т.к. из-за Append'а мы будем добавлять эти 5 записей за предыдущие 5.
Можно конечно конечно почистить все записи при помощи Delete, но это долго - проще "вернуть" DataSet в первоначальное положение, но как?
TwiX вне форума Ответить с цитированием
Старый 01.04.2010, 18:42   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

можно делать что угодно
в цикле пробежись по датасету и удали записи
soleil@mmc вне форума Ответить с цитированием
Старый 01.04.2010, 18:54   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Как вариант: эталонный пустой датасет сохранить в файл и грузиться с него как с шаблона.
Либо в коде создавать новый датасет и прописывать у него все поля заново.
pu4koff вне форума Ответить с цитированием
Старый 01.04.2010, 19:15   #4
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Пустой датасет... Это глуповато...
Про создание датасета в коде тоже думал, но лень)
Не уж то нельзя очистить саму дату как-нибудь? Или "выгрузить" таблицу...

soleil@mmc - Читаем последнюю строчку
TwiX вне форума Ответить с цитированием
Старый 01.04.2010, 19:24   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
soleil@mmc - Читаем последнюю строчку
чота у меня есть подозрение что ты уже написал прогу, которая за тебя и кодит и пишет на форуме
soleil@mmc вне форума Ответить с цитированием
Старый 02.04.2010, 08:28   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Не надо никаких циклов. У ClientDataSet есть такое св-во FetchOnDeamond которое надо выставить в false, да и посмотрите чтобы значение PacketRecords был равен -1(по умолчанию)
SERG1980 вне форума Ответить с цитированием
Старый 02.04.2010, 19:07   #7
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Как это работает? Что бы очистить БД надо присвоить FetchOnDemand'у false? Наверно не так..) И что такое PacketRecords?

Сам задал, сам ответил - процедура EmptyDataSet;

Последний раз редактировалось TwiX; 02.04.2010 в 19:47.
TwiX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать новую рабочую книг Insainer Microsoft Office Excel 3 08.10.2009 03:26
Как очистить Canvas? beegl Общие вопросы Delphi 4 30.05.2008 02:51
Как очистить Canvas? Pro_BerSerK Общие вопросы Delphi 9 30.01.2008 16:03
Создать функцию, позволяющую вычислить новую стоимость товара после уценки. Визуал Бэйсик. КПСС Помощь студентам 6 07.11.2007 01:00
как очистить экран doncova1 Общие вопросы C/C++ 3 18.03.2007 09:50