| 
| 
 | Вопрос # 5 204/ вопрос решён / | 
 |  Приветствую, уважаемые эксперты! У меня на форме 5 CheckBox, при выборе CheckBox1 в базу добавляется запись "1", при CheckBox2 должно добавлятся "2" и так далее, для 1-го CheckBox вот код, а как для других незнаю:   
 procedure TForm1.sButton11Click(Sender: TObject);
 begin
 if sCheckBox1.Checked then ADOCommand1.CommandText:= 'insert into ' + sEdit1.text + '(Экзамен) values (1)';
 ADOCommand1.Execute;
 end;
 
 и еще как этот код вставить в этот:
 
 begin
 ADOCommand1.CommandText := 'insert into ' + sEdit1.text + '(Предмет, Всего, Теория, Лабораторные, Курсовые) ' + 'values(''' + sEdit2.Text + ''', ''' + sEdit3.Text + ''', ''' + sEdit4.Text + ''', ''' + sEdit5.Text + ''', ''' + sEdit6.Text + ''')';
 ADOCommand1.Execute;
 end;
 просто нужно чтобы добавляло все сразу в 1 строку. ПОМОГИТЕ ПЛИЗ!!
 
|  |   Вопрос задал: Анучин (статус: Посетитель)Вопрос отправлен: 16 апреля 2011, 18:02
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Егор Здравствуйте, Анучин!Надо сделать кнопку, назвать её "добавить запись" или "добавить оценки" и туда уже засунуть весь код. Примерно так:
 
 procedure TForm1.sButton11Click(Sender: TObject);
var
  fields, values : string;
begin
  fields := 'Предмет, Всего, Теория, Лабораторные, Курсовые';
  values := ''' + sEdit2.Text + ''', ''' + sEdit3.Text + ''', ''' + sEdit4.Text + ''', ''' +
            sEdit5.Text + ''', ''' + sEdit6.Text + ''';
  if sCheckBox1.Checked then
  begin
    fields := fields + ', Экзамен';
    values := values + ', 1';
  end;
  ADOCommand1.CommandText:= 'insert into ' + sEdit1.text + '(' + fields + ') values (' + values + ')';
  ADOCommand1.Execute;
  end;Вообще-то, вопрос лёгкий и неужели не было интересно самому придумать ответ?
 Кстати, а почему бы в данном случае не воспользоваться стандартными компонентами типа DBEdit, DBCheckBox и т.д.? С ними не надо писать никаких SQL-запросов - всё будет сделано автоматически.
 
|  | Ответ отправил: Егор (статус: 10-ый класс)Время отправки: 18 апреля 2011, 04:44
 Оценка за ответ: 4
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 18 апреля 2011, 04:45; участников в обсуждении: 1. 
|   | Егор (статус: 10-ый класс), 18 апреля 2011, 04:43 [#1]: Цитата (Анучин): У меня на форме 5 CheckBox, при выборе CheckBox1 в базу добавляется запись "1", при CheckBox2 должно добавлятся "2" и так далееа если будут выставлены два, три, четыре или все пять чекбоксов сразу, что писать? Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Егор (статус: 10-ый класс), 18 апреля 2011, 04:45 [#2]: Цитата (Анучин): ПОМОГИТЕ ПЛИЗ!! а вот это не люблю. и никто не любит. не пиши так больше никогда.
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  18 апреля 2011, 20:51: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |