|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Удаление нескольких выделенных строк из базы Есть таблица "цена" (ключевое поле ID) она частично запросом вытягивается  в Grid1. Есть еще одна таблица "товар" связан с таблицей "цена" по полю f_цена (id таблицы "цена"). Нужно чтобы при выделении нескольких строк в Grid1, удалялись записи из таблицы "товар". Знаю как удалить 1 строку,но как сделать мульти удаление, не знаю. Помогите пжл написать код, если потребуется оплата, прошу отписаться в личку с ценой. | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   1. Какая СУБД используется? Access/ODBC/Zeos...? 2. Какой метод удаления для одной строки используется? (SQL, или процедурный)? | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   база Access, метод удаления использую SQL | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Код: DELETE from товар where id=1 or id=2 Код: DELETE from товар where id in (1, 2, ...) | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   вся сложность в том, что я не понимаю этого, ранее мне подсказывали http://www.delphisources.ru/forum/sh...ad.php?t=22390, но я так и не смог разобраться, как мне посоветовали, обратился сюда. Последний раз редактировалось DOR, 21.10.2012 в 21:37. | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   Q_AVR_List - это TADOQuery или что? И как у тебя зовётся DBGrid (или GridEh, вроде, в той теме он был)? Последний раз редактировалось PhoeniX, 21.10.2012 в 22:09. | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   Код: procedure Tf_ABP.N11Click(Sender: TObject);
var
  myQ: TADOQuery;
  i: integer;
begin
  myQ := TADOQuery.Create(nil);
  myQ.Connection := DataModule1.ADOConnection1;
  myQ.SQL.Clear;
  myQ.Parameters.Clear;
  myQ.sql.Text := 'Delete From AVR_List Where ID = :ID_AVR_List';
  for i := 0 to DBGrid1.SelectedRows.Count -1 do begin
    Q_AVR_List.GotoBookmark(Pointer(DBGrid1.SelectedRows[i]));
    myQ.Parameters.ParamByName('ID_AVR_List').Value := Q_AVR_List.FieldByName('ID').Value;
    myQ.ExecSQL;
  end;
  myQ.Close;
  myQ.Free; // Мусор не забываем убирать ;)
  Q_AVR_List.Requery;
end; | 
| Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение: | ||
|  
DOR (21.10.2012)
 | ||
| 
			 
			#8  
			
			
			
			
		 | |||
| 
 | |||
|   PhoeniX, огромное Вам спасибо. |