|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2018, 23:45 | #1 |
Новичок
Джуниор
Регистрация: 15.05.2018
Сообщений: 1
|
Копирование данных из Delphi7 в БД Access
У меня есть программа тестировки в Delphi 7, я бы хотел сделать так ,что бы в мою БД в определённую таблицу записывались только пользователи имеющие право доступа Студент и его (ФИО,Название теста,Дата,Оценка) только не знаю как это сделать.
Для лучшего понимания выкладываю исходник,если что-то ещё понадобится,то скажите. Test.rar Есть только пару мыслей по поводу этого За ФИО пользователя можно принять его логин, который берётся из самой БД procedure TForm1.Button1Click(Sender: TObject); begin DataModule2.ADOQuery1.SQL.Clear; DataModule2.ADOQuery1.SQL.Add('Sele ct Пароль,ID FROM Матрица_доступа WHERE Логин='+#39+Edit1.Text+#39); DataModule2.ADOQuery1.Open; if DataModule2.ADOQuery1.IsEmpty then begin ShowMessage('Пользователь ' + Edit1.Text +' не найден!'); exit end; if DataModule2.ADOQuery1.FieldByName ('Пароль').Value <> Edit2.Text then begin ShowMessage ('Пароль не верный!'); exit end; Так же права его узнаются в соответствии с его ID ,т.е под 1- администраторы ,2 - Преподаватели, 3- Студенты case DataModule2.ADOQuery1.FieldByName(' ID').asInteger of 1: Form3.Show; 2: Form7.Show; 3: Form8.Show; end; end; Я так понимаю должно быть условие по которому пользователи только с ID=3 будут записываться и за место их ФИО будут браться вводимые ими логины в Edit1,но как это условие написать пока не знаю. Вот только оценки не представляю как записывать ибо они не через ShowMessege выводятся ,а через свойство Label1.Caption procedure TForm8.EClick(Sender: TObject); begin if RB1.Checked then vop[l].otvs:=vop[l].otv1; if RB2.Checked then vop[l].otvs:=vop[l].otv2; if RB3.Checked then vop[l].otvs:=vop[l].otv3; if RB4.Checked then vop[l].otvs:=vop[l].otv4; kl:=0; for i:=1 to z do if vop[i].otvs=vop[i].otv then inc(kl); if (kl/z)>0.9 then oc:='оценка 5' else if (kl/z)>0.75 then oc:='оценка 4' else if (kl/z)>0.50 then oc:='оценка 3' else oc:= 'оценка 2' ; Label1.Caption:='Правильно ' + inttostr(kl)+ ' из ' + inttostr(z)+ oc; Start.Visible:=True; А как быть с датой представления не имею , может есть функция в Delphi 7 отвечающая за дату и как-то через неё вывести это в БД. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование данных из Таблицы в Таблицу - MS Access | nikolaynn2008 | Microsoft Office Access | 32 | 26.07.2016 10:12 |
Доработка базы данных Delphi7,access,Создать два форма | ms_root | Фриланс | 4 | 19.03.2015 10:33 |
Delphi7. Копирование не повторяющихся слов | Сароникус | Помощь студентам | 2 | 28.10.2011 18:44 |
копирование листинга из delphi7 | tred | Общие вопросы Delphi | 4 | 22.10.2011 18:15 |
ms access и delphi7 | nervniy | БД в Delphi | 5 | 12.08.2010 14:47 |