![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 10.12.2011
Сообщений: 154
|
![]()
Всем добра.
У меня имеется таблица Учащиеся и в ней есть поле Класс (значения 5А, 5Б, 10Г и т.д.) вот как можно реализовать с помощью ADO перевод всех учащихся в следующий класс. Я пока сделал таким способом, но очень коряво и много писать надо, Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А это он и есть способо по програмистски
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я бы структуру переделал.
как минимум, добавил таблицу Класс в ней поля Код:
При переходе в следующий класс изменяем только номер класса в таблице Класс а как максимум, вычислял номер класса по началу году обучения и текущему учебному году. Тогда update при переходе в следующий класс вообще не понадобился бы! |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ручками написать для всех классов и ВСЕХ букв классов (говоряд, бывают классы с буквами не только А Б В и Г, но и Д, Е...
при этом учитывать, что нужно СТРОГО соблюдать последовательность перехода: сначала убрать все старшие классы (11-е), потом 10е перевести в 11е, потом 9-е перевести в 10 и т.д. всё это выполняется МНОЖЕСТВОМ ОТДЕЛЬНЫХ запросов (по каждому классу и каждой букве), если не пользоваться транзакциями (откат/commit), то прервав процесс на середине, получим кучу учеников, которые непонятно в каком классе учатся. Вот это и называется КОРЯВО. ![]() p.s. предложенный мною способ будет состоять из одного UPDATE: Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
То же самое для 5А, 5Б, 10Г можно сделать и так (думаю что у ТС Access)
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Согласен - справочник наименований классов тут уместен.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ADO: Динамические поля синхронного просмотра | grh | БД в Delphi | 2 | 03.10.2012 10:48 |
Изменение типа поля | Ericnex | БД в Delphi | 1 | 06.09.2012 10:54 |
Запись в поля DateTime в БД Visual FoxPro посредством ADO | Аватар | БД в Delphi | 2 | 13.12.2010 11:44 |
Выбор поля по условию (ADO) | Gracia | БД в Delphi | 2 | 27.04.2010 12:36 |
Копирование поля из одной таблицы в другую(ADO) | RamireZ | БД в Delphi | 5 | 17.11.2009 22:48 |