![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте программисты! Помогите исправить ошибку.
Требуется написать курсовую работу "Тестирование в делфи". Форма с учетными данными всё выполняет правильно. Проблема возникает при записи вариантов ответов в базу данных аксесса. После выбора RadioButton1 и нажатии на кнопку, появляется ошибка: "Не удаётся вставить пустую строку. Необходим хотя бы один столбец значений." Код:
procedure TForm3.Button1Click(Sender: TObject); begin DM.M1V1.Open; DM.M1V2.Open; DM.M1V3.Open; DM.M1V4.Open; DM.M1V5.Open; DM.Testiruemiy.Open; DM.Testiruemiy.Last; DM.OtvetTestera.Open; DM.OtvetTestera.Append; If (RadioButton1.Checked=False) and (RadioButton2.Checked=False) and (RadioButton3.Checked=False) and (RadioButton4.Checked=False) and (RadioButton5.Checked=False) then MessageDlg('Выберите вариант ответа!', mtWarning, [mbOK],0) else begin If RadioButton1.Checked=True then begin if not (DM.OtvetTestera.FieldByName('ID_user').IsNull) then DM.OtvetTestera.FieldByName('ID_user').AsInteger:=strtoint(DM.Testiruemiy.FieldValues['ID_user']); if not (DM.OtvetTestera.FieldByName('№VO').IsNull) then DM.OtvetTestera.FieldByName('№VO').AsInteger:=strtoint(DM.M1V1.FieldValues['№VO']); DM.OtvetTestera.Post; //MessageDlg(DM.M1V1.FieldValues['№VO'], mtWarning, [mbOK],0); DM.M1V1.Active:=True; //RadioButton1.Caption:= dm.M1V1.FieldValues['№VO']; a:=a+1; DM.ADOQuery1.Next; RadioButton1.Checked:=False; end; If RadioButton2.Checked=True then begin //DM.OtvetTestera.FieldByName('ID_user').AsInteger:=strtoint(DM.Testiruemiy.FieldValues['ID_user']); //DM.OtvetTestera.FieldByName('№VO').AsInteger:=strtoint(DM.M1V1.FieldValues['№VO']); //DM.OtvetTestera.Post; //RadioButton2.Caption:= dm.M1V2.FieldValues['№VO']; a:=a+1; DM.ADOQuery1.Next; RadioButton2.Checked:=False; end; If RadioButton3.Checked=True then begin //DM.OtvetTestera.FieldByName('ID_user').AsInteger:=strtoint(DM.Testiruemiy.FieldValues['ID_user']); //DM.OtvetTestera.FieldByName('№VO').AsInteger:=strtoint(DM.M1V1.FieldValues['№VO']); //DM.OtvetTestera.Post; a:=a+1; DM.ADOQuery1.Next; RadioButton3.Checked:=False; end; If RadioButton4.Checked=True then begin //DM.OtvetTestera.FieldByName('ID_user').AsInteger:=strtoint(DM.Testiruemiy.FieldValues['ID_user']); //DM.OtvetTestera.FieldByName('№VO').AsInteger:=strtoint(DM.M1V1.FieldValues['№VO']); //DM.OtvetTestera.Post; a:=a+1; DM.ADOQuery1.Next; RadioButton4.Checked:=False; end; If RadioButton5.Checked=True then begin //DM.OtvetTestera.FieldByName('ID_user').AsInteger:=strtoint(DM.Testiruemiy.FieldValues['ID_user']); //DM.OtvetTestera.FieldByName('№VO').AsInteger:=strtoint(DM.M1V1.FieldValues['№VO']); //DM.OtvetTestera.Post; a:=a+1; RadioButton5.Checked:=False; DM.ADOQuery1.Next; end; end; If a=25 then begin Button2.Visible:=True; DBMemo1.Visible:=False; RadioButton1.Visible:=False; RadioButton2.Visible:=False; RadioButton3.Visible:=False; RadioButton4.Visible:=False; RadioButton5.Visible:=False; Label1.Caption:='Спасибо за прохождение теста!'; end; end; Надеюсь на Вашу помощь! |