Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Грамотно удалить все записи в ADO таблице 
:(
    Опции темы
Grig
Дата 25.5.2005, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: 4
Всего: 16



Я пытаюсь удалить все записи в ADo-таблице..
Но свойства EmptyTable нету, а когда я пытаюсь написать что-то вроде:
Код

dm.ADoCommand1.Text:='delete from spr_kart'
dm.ADoCommand1.execute;

// Затем мне требуется заполнить эту таблицу
dm.ADOCommand1.CommandText:='insert into spr_kart (code_pc, name_m) select spr_obak.code_pc, spr_obak.name_m from spr_obak where spr_obak.code_pc='+_code_pc;
dm.ADOCommand1.Execute;


Выдает ошибку.
вот собственно..


--------------------
        
PM MAIL ICQ   Вверх
ТоляМБА
Дата 25.5.2005, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Какую ошибку выдает-то?
А если перед этим не очищаешь таблу ошибка тоже высткакивает?

PM   Вверх
ТоляМБА
Дата 26.5.2005, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Вообще-то, имхо, у тебя косяк с параметрами во втором запросе.
Насчёт
Код

delete from spr_kart

Тут такой косяк (можешь проверить сам):
создай таблу1 и таблу2 с одинаковыми полями, таблу1 заполни записями (можушь использовать сущестующие таблицы) и выполни раз 10 такие команды:
Код

delete from table2

--------
Код

insert into table2
select *
from table1

А потом ещё раз выполни
Код

delete from table2

и посмотри на размер пустой Table2. Впечатляет?
Тут у тебя есть 2 выхода (хотя может и больше):
1. Через BDE -
Код

Table2.EmptyTable

2. Посмотри в DRKB, там есть ответ по паковке таблиц некоторых форматов.

ЗЫ. Я тебе описал на примере dBase IV - с другими не знаю как работает - не юзал. Ты в следующий раз внимательнее читай:

Цитата
Правила форума
Обязательно указание:
Базы данных (Paradox, Oracle и т.п.)
Способа доступа (ADO, BDE и т.д.)


PM   Вверх
Grig
Дата 30.5.2005, 04:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: 4
Всего: 16



ТоляМБА, мир полон загадок и тайн...
Сегодня прихожу на работу, и мой код работает без каких-то проблем..
Странно.
На самом деле, это плохо, потому как я так и не понял в чем же там была проблема..
Буду ждать следующего глюка своего приложения smile


--------------------
        
PM MAIL ICQ   Вверх
ТоляМБА
Дата 30.5.2005, 04:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



2Grig
Ты пробовал, что я тебе посоветовал в прошлом письме (насчёт двух таблиц и Delete from table)?
Если некогда - объясню: там фишка в том, что у тебя файл будет постоянно увеличиваться в размерах (ты не написал какая у тебя база, но с dbase это именно так - про другие сказать не могу), потому как удаляемые записи не удаляются а только помечаются на удаление, и поэтому таблу надо после очистки паковать. Pls, пожалуйста если будут проблемы по этой же теме, указывай базу данных.
PM   Вверх
Grig
Дата 30.5.2005, 05:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: 4
Всего: 16



ТоляМБА
Твой пример пробовал - работает нормально.
База данных в MS SQL Server, извиняюсь что сразу не сказал.
а с указанной тобою проблемой я уже знаком.
Нечто подобное происходит в Visual FoxPro


--------------------
        
PM MAIL ICQ   Вверх
Dynamic
Дата 30.5.2005, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 2
Всего: 15



Так происходит в большинстве БД, во всяком случае в Paradox, Access & Interbase точно. В IB размер базы вообще увеличивается быстро, т.к. она, кроме того, хранит еще по нескольку версий одной и той же записи.


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.