|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Удаление всех записей в таблице Необзодимо удалить все записи из таблицы. Делаю так Код: procedure TForm1.DelAllClick(Sender: TObject); begin Form1.tbStd.Active := False; Form1.tbStd.EmptyTable; end; "Table is busy" Как побороть? | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Попробуй так: Form1.tbStd.Clear | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Говорит Undeclared identifier 'Clear' | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   положи компонент  Query с запросом  Код: Delete from TableName Код: Query.ExecSql; | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Сделал так: Код: procedure TForm1.DelAllClick(Sender: TObject); begin Form1.tbStd.Last; while not tbStd.Bof do begin Form1.tbStd.Delete; Form1.tbStd.Prior; end; end; | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   А почему с конца то?   Попробуй так Код: Form1.tbStd.First; while not tbStd.Eof do begin Form1.tbStd.Delete; end; | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   И все- таки переходить надо на TQuery. | 
| 
			 
			#8  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 | 
| 
			 
			#9  
			
			
			
			
		 | ||||
| 
 | ||||
|   Просто чудно. А теперь сделайте то-же самое хотя-бы с 10000 записей в таблице  и оцените потери времени. Вот так попробуйте: Код:  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 |