nikitos_EKB
Дата: 07.05.2011 19:46:34
Помогите доработать код!!! у меня на форме 3 CheckBox-а принажатии на CheckBox1 в базу данных MSAccess в столбец Экзамены добавляется число 1, при нажатии на CheckBox2 добавляется число 2, ну и при нажатии на CheckBox3 добовляется 3, так вот как сделать чтобы при нажатии 2-х или всех 3-х CheckBoх-ов в базу в одну ячейку добавлялась запись (1,2,3) или (1,2) или (1,3)??? Как добавить по одной цифре я разобрался, а что бы несколько не могу понять, подскажите что нибудь. вот код :
procedure TForm1.sButton10Click(Sender: TObject);
var
fields, values : string;
begin
fields := 'Предмет, Всего, Теоретические занятия, Лабораторные, Курсовые';
values := QuotedStr(sEdit3.Text) +','+ QuotedStr(sEdit4.Text) + ', '+ QuotedStr(sEdit5.Text) + ', '+QuotedStr(sEdit6.Text) + ', '+ QuotedStr(sEdit7.Text);
if sCheckBox1.Checked then
begin
fields := fields + ', Экзамены';
values := values + ', 1';
if sCheckBox2.Checked then
begin
fields := fields + ', Экзамены';
values := values + ', 2';
if sCheckBox3.Checked then
begin
fields := fields + ', Экзамены';
values := values + ', 3;
ADOCommand1.CommandText:= 'insert into ' + sEdit1.text + ' (' + fields + ')' + 'values (' + values + ')';
ADOCommand1.Execute;
end;
AndrewVL
Дата: 07.05.2011 20:18:50
nikitos_EKB,
procedure TForm1.sButton10Click(Sender: TObject);
var
fields, values : string;
begin
fields := 'Предмет, Всего, Теоретические занятия, Лабораторные, Курсовые';
values := QuotedStr(sEdit3.Text) +','+ QuotedStr(sEdit4.Text) + ', '+ QuotedStr(sEdit5.Text) + ', '+QuotedStr(sEdit6.Text) + ', '+ QuotedStr(sEdit7.Text);
if sCheckBox1.Checked then
begin
fields := fields + ', Экзамены';
values := values + ', 1';
end;
if sCheckBox2.Checked then
begin
fields := fields + ', Экзамены';
values := values + ', 2';
end;
if sCheckBox3.Checked then
begin
fields := fields + ', Экзамены';
values := values + ', 3';
end;
ADOCommand1.CommandText:= 'insert into ' + sEdit1.text + ' (' + fields + ')' + 'values (' + values + ')';
ADOCommand1.Execute;
end
nikitos_EKB
Дата: 07.05.2011 20:24:29
AndrewVL,
и что????? я же то же самое написал, просто у меня end записанно в конце процедуры, а вы вставили после каждого Begin, или я что то не понял из вашего сообшения ))))
nikitos_EKB
Дата: 07.05.2011 22:51:03
Anatoly Podgoretsky |
---|
Хорошо бы пощелкать, красивый мусор будет в базе. |
Почему мусор????Все будет отбражаться нормально, если выбран 1 CheckBox то в базу добовляется запись (1), если 2 CheckBox-а то (1,2), если все 3 CheckBox-а то (1,2,3), и это все будет в 1 ячейке.
AndrewVL
Дата: 07.05.2011 23:21:48
nikitos_EKB,
procedure TForm1.sButton10Click(Sender: TObject);
var
fields, values : string;
exams:string;
begin
fields := 'Предмет, Всего, Теоретические занятия, Лабораторные, Курсовые';
values := QuotedStr(sEdit3.Text) +','+ QuotedStr(sEdit4.Text) + ', '+ QuotedStr(sEdit5.Text) + ', '+QuotedStr(sEdit6.Text) + ', '+ QuotedStr(sEdit7.Text)+',';
fields := fields + ', Экзамены';
if sCheckBox1.Checked then
begin
exams := exams + ', 1';
end;
if sCheckBox2.Checked then
begin
exams := exams + ', 2';
end;
if sCheckBox3.Checked then
begin
exams := exams + ', 3';
end;
exams[1]:=' ';
ADOCommand1.CommandText:= 'insert into ' + sEdit1.text + ' (' + fields + ')' + 'values (' + values +Quotedstr(exams)+ ')';
ADOCommand1.Execute;
end
nikitos_EKB
Дата: 08.05.2011 00:02:54
nikitos_EKB,
упс простите, все правиль просто не допечатал пару '' , но в базу все равно не добавляются все CheckBox , если выбираю 1 CheckBox и 2 CheckBox то заносится значение только первого, если значения 2 CheckBox и 3 CheckBox то заносится значение 2-го