Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2018, 23:45   #1
LSTSnaiper
Новичок
Джуниор
 
Регистрация: 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 отвечающая за дату и как-то через неё вывести это в БД.
LSTSnaiper вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных из Таблицы в Таблицу - 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