![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Вот решил выучить БД... )
Возник вопрос. Допустим, на форме есть DataSet и функция, которая с помощью Append'а записывает в DataSet несколько (пусть будет 5) записей в БД и сохраняет её. Получаем такую картинку: При первом запуске проги и вызове функции мы получим файл БД с 5 записями, но если второй раз вызвать эту функцию, то мы получим уже 10 запись, т.к. из-за Append'а мы будем добавлять эти 5 записей за предыдущие 5. Можно конечно конечно почистить все записи при помощи Delete, но это долго - проще "вернуть" DataSet в первоначальное положение, но как? |
![]() |
![]() |
![]() |
#2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
можно делать что угодно
в цикле пробежись по датасету и удали записи |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,089
|
![]()
Как вариант: эталонный пустой датасет сохранить в файл и грузиться с него как с шаблона.
Либо в коде создавать новый датасет и прописывать у него все поля заново. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Пустой датасет... Это глуповато...
Про создание датасета в коде тоже думал, но лень) Не уж то нельзя очистить саму дату как-нибудь? Или "выгрузить" таблицу... soleil@mmc - Читаем последнюю строчку |
![]() |
![]() |
![]() |
#5 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]() |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
![]()
Не надо никаких циклов. У ClientDataSet есть такое св-во FetchOnDeamond которое надо выставить в false, да и посмотрите чтобы значение PacketRecords был равен -1(по умолчанию)
|
![]() |
![]() |
![]() |
#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 |