Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 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: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 29 мая 2023, 12:49
Выполнено за 0.02 сек.
Рейтинг@Mail.ru