|
Вопрос # 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: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|