Mais uma de forms com campos dinamicos

10/03/2006

Pessoal, venho procurando aqui no forum a alguns dias, tópicos sobre o assunto de forms criados dinamicamente, e vi que apesar de uma grande quantidade de dúvidas, existem poucas respostas funcionais, e acredito que todos devam ter passado por este problema alguma vez, então, segue o meu problema:

Tenho uma tabela Planos (de saúde) que é relacionada com uma tabela PlanoCampos que guarda os campos que um determinado plano, de um determinado convenio. Cada campo pode ser: Texto, Data, Inteiro, Numerico, sendo Mandatorio ou Opcional.

O cadastro, em banco de dados, foi bastante simples, para montar os campos em tela, criei um componente herdado de TScollBox que cria os varios edits, respectivas labels e define mascara de acordo com o tipo de campo.

Meu problema está sendo validar e salvar estes dados, que precisam ficar dentro de um campo BLOB. Tentei com XML, mas na hora de varrer toda a tabela para gerar um faturamento mensal, a interpretação do XML ficou muito lenta, caindo de 4.000 pacientes/seg para 600 pacientes/seg.

Alguem conhece alguma outra forma de salvar estes dados? ou tem alguma idéia melhor de como solucionar o mesmo problema?

Obrigado.


Thiago Vidal

Respostas

10/03/2006

Aasn

Olá Thiago,

Você mesmo já tem a resposta!

Salve as informações não por registros, mas por tipo de campo.
Crie uma tabela para os campos numéricos outra para os caracter, data e texto.
Ao gravar os dados vc percorre os componentes do form e de acordo com seus tipos grava nas respectivas tabelas. Todos indexados por um número de identificação único para cada operação.

a estrutura da tabela ficaria mais ou menos assim:

ID - ID_FORM - NOME_CAMPO - VALOR

e quando precisar reunir as informações, dê um select por ID + ID_FORM nas dirferentes tabelas (as quais vc criou para armazenar os valores dos campos).

Eu utilizo este recurso em um software meu e vc não imagina o ganho de produtividade e de ´possibilidades´.

Espero ter ajudado,

[]´s
AASN


Responder Citar