|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.04.2010, 18:16 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
TClientDataSet. Как создать новую БД (очистить старую)?
Вот решил выучить БД... )
Возник вопрос. Допустим, на форме есть DataSet и функция, которая с помощью Append'а записывает в DataSet несколько (пусть будет 5) записей в БД и сохраняет её. Получаем такую картинку: При первом запуске проги и вызове функции мы получим файл БД с 5 записями, но если второй раз вызвать эту функцию, то мы получим уже 10 запись, т.к. из-за Append'а мы будем добавлять эти 5 записей за предыдущие 5. Можно конечно конечно почистить все записи при помощи Delete, но это долго - проще "вернуть" DataSet в первоначальное положение, но как? |
01.04.2010, 18:42 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
можно делать что угодно
в цикле пробежись по датасету и удали записи |
01.04.2010, 18:54 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Как вариант: эталонный пустой датасет сохранить в файл и грузиться с него как с шаблона.
Либо в коде создавать новый датасет и прописывать у него все поля заново. |
01.04.2010, 19:15 | #4 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Пустой датасет... Это глуповато...
Про создание датасета в коде тоже думал, но лень) Не уж то нельзя очистить саму дату как-нибудь? Или "выгрузить" таблицу... soleil@mmc - Читаем последнюю строчку |
01.04.2010, 19:24 | #5 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
|
02.04.2010, 08:28 | #6 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Не надо никаких циклов. У ClientDataSet есть такое св-во FetchOnDeamond которое надо выставить в false, да и посмотрите чтобы значение PacketRecords был равен -1(по умолчанию)
|
02.04.2010, 19:07 | #7 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Как это работает? Что бы очистить БД надо присвоить FetchOnDemand'у false? Наверно не так..) И что такое PacketRecords?
Сам задал, сам ответил - процедура EmptyDataSet; Последний раз редактировалось TwiX; 02.04.2010 в 19:47. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать новую рабочую книг | 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 |