Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> insert с условием 
:(
    Опции темы
dize
Дата 1.9.2009, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

...
  ADOQ_new.Close;
  ADOQ_new.SQL.Clear;
  ADOQ_new.SQL.Add('SELECT Dengi.Kod_klienta');
  ADOQ_new.SQL.Add('FROM Dengi INNER JOIN groups ON Dengi.id_group=groups.id_group');
  ADOQ_new.SQL.Add('WHERE groups.group="'+query[0]+'"');
  ADOQ_new.Open;

  SetLength(id_clients,ADOQ_new.RecordCount);
  count:=ADOQ_new.RecordCount-1;
  i:=0;
  while (not ADOQ_new.Eof) do
   begin
      id_clients[i]:=ADOQ_new.FieldByName('Kod_klienta').AsString;
      ADOQ_new.Next();
      i:=i+1;
   end;
...
for i:=0 to count do
  begin
    if CheckBox2.Checked=true then sql:= 'INSERT INTO Zayavki (Kod_klienta, Bumaga_socr, CLASSCODE, Kod_bumagi, [Action]) VALUES ("'+id_clients[i]+'", "", "'+ck+'", "", "KILL_ALL_ORDERS")'
    else sql:= 'INSERT INTO Zayavki (Kod_klienta, Bumaga_socr, CLASSCODE, Kod_bumagi, [Action]) VALUES ("'+id_clients[i]+'", "'+sec+'", "'+class_code+'", "'+id_paper+'", "KILL_ORDER")';

Необходимо, чтобы при первом условии добавлялось количество строк для каждого элемента массива "id_clients[i]" по количеству элементов ck. Собственно вопрос нужно ли создавать массив ck или же простую выборку, да и вообще как это организовать, желательно с примером по данному коду, чтобы было нагляднее.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
dize
Дата 2.9.2009, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Например id_clients[i] содержит 1,2,3...а ck содержит a,b,c. Запись в таблицу должна выглядеть так:
1 a
1 b
1 c
2 a
2 b
2 c
3 a
3 b
3 c
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Staruha
Дата 2.9.2009, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: нет
Всего: 27



  
Код

ADOQ_new.Close;
  ADOQ_new.SQL.Clear;
  ADOQ_new.SQL.Add('SELECT Dengi.Kod_klienta');
  ADOQ_new.SQL.Add('FROM Dengi INNER JOIN groups ON Dengi.id_group=groups.id_group');
  ADOQ_new.SQL.Add('WHERE groups.group="'+query[0]+'"');
  ADOQ_new.Open;

  SetLength(id_clients,ADOQ_new.RecordCount);
  count:=ADOQ_new.RecordCount-1;
  i:=0;
 
while (not ADOQ_new.Eof) do
   begin
      id_clients[i]:=ADOQ_new.FieldByName('Kod_klienta').AsString;

    for i2:=0 to count do
  begin
    if CheckBox2.Checked=true then sql:= 'INSERT INTO Zayavki (Kod_klienta, Bumaga_socr, CLASSCODE, Kod_bumagi, [Action]) VALUES ("'+id_clients[i]+'", "", "'+ck+'", "", "KILL_ALL_ORDERS")'
    else sql:= 'INSERT INTO Zayavki (Kod_klienta, Bumaga_socr, CLASSCODE, Kod_bumagi, [Action]) VALUES ("'+id_clients[i]+'", "'+sec+'", "'+class_code+'", "'+id_paper+'", "KILL_ORDER")';
   end;
  ADOQ_new.Next();
      i:=i+1;
   end;
...

 
 


Это сообщение отредактировал(а) Staruha - 2.9.2009, 10:04


--------------------
Возмездие настигнет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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