У меня есть PDF-форма, содержащая 450 полей, и я собираюсь заполнить ее, используя данные, которые есть в моей базе данных. Каждое поле в PDF имеет уникальное имя, и я могу сделать сопоставление, например:
switch (fieldname)
{
case "Name":
value = GetData(Name);
break; // Etc...
case "Date":
value = Date();
break;
default:
value = "";
break;
}
Теперь кажется, что это будет очень быстро, с 450 ветвями, и если будут добавлены другие документы, это может значительно увеличиться. Какие потенциальные модели доступны для решения такого рода проблем? По сути, я хочу связать поля PDF с полями базы данных.
* РЕДАКТИРОВАТЬ *
Итак, давайте просто скажем, что у меня есть гигантский оператор switch ~ 450 ветвей, который направляет имена полей PDF, такие как «Имя», «Адрес», «Телефон», в правильный запрос к базе данных для выполнения. Какие еще способы можно решить, кроме включения имен полей, когда имена полей являются переменными, в зависимости от того, какой документ был выбран конечным пользователем.
* ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ *
Я думал об этом в течение дня и придумал решение благодаря всем предложениям. У меня есть функция под названием GetElement (). Он принимает имя поля PDF в качестве параметра и выполняет хранимую процедуру, которая возвращает столбец базы данных и другое имя процедуры в виде карты. Затем, используя динамический SQL, я передаю имя процедуры и столбец, который я ищу, и возвращаю результаты. Трудно найти правильный ответ здесь, но я воздаю должное тому, который подтолкнул меня к самому близкому.