Ref.: dbmd.getColumns

0 respostas
P

Como fazer para o getColumns() trazer os campos chaves em sua ordem de índice?

//Construtor com parâmetros (chave(s) da tabela)
        pwClassePersistencia.print("    public " + strNomeClasse + " (");
        ResultSet rsChaves = dbmd.getPrimaryKeys(strCatalogo, strEsquema, strNomeTabela);
        StringBuffer sb = new StringBuffer();
        while (rsChaves.next()) {
            System.out.println(rsChaves.getObject(5));
            
            ResultSet rs2 = dbmd.getColumns(strCatalogo, strEsquema, strNomeTabela, rsChaves.getString(4));
            
            while (rs2.next()) {
                sb.append("final " + getTipoDado(rs2.getInt(5)) + " " + rsChaves.getString(4) + ", ");
            }   
        }
        pwClassePersistencia.print(sb.toString());
        pwClassePersistencia.print(" final Connection cnnConexao");
        pwClassePersistencia.println(") {");

A Ordem seria:

DROP TABLE IF EXISTS `nhbrasil`.`tb_processos`;
CREATE TABLE  `nhbrasil`.`tb_processos` (
  `NumeroProcesso` smallint(6) unsigned NOT NULL COMMENT 'Número do Processo',
  `AnoProcesso` smallint(4) unsigned NOT NULL COMMENT 'Ano do Processo',
  `ID_RegistroProcesso` varchar(38) character set latin1 NOT NULL COMMENT 'ID do Registro do Processo',
  `Area_HA` decimal(9,2) default NULL COMMENT 'Área em HA',
  `DescricaoFase` varchar(45) character set latin1 default NULL COMMENT 'Descrição da Fase',
  `Requerente` varchar(50) character set latin1 default NULL COMMENT 'Requerente',
  `CodigoEvento` smallint(4) unsigned default NULL COMMENT 'Codigo do Evento',
  `DescricaoEvento` varchar(45) character set latin1 default NULL COMMENT 'Decricao do Evento',
  `DataEvento` date default NULL COMMENT 'Data do Evento',
  `Substancia` varchar(15) character set latin1 default NULL COMMENT 'Substancia',
  `Aplicacao` varchar(20) character set latin1 default NULL COMMENT 'Aplicaçao',
  `UF` varchar(2) character set latin1 default NULL COMMENT 'Estado',
  `DataInclusaoRegistro` datetime NOT NULL COMMENT 'Data Inclusao do Registro',
  `DataAlteracaoRegistro` datetime NOT NULL COMMENT 'Data Alteraçao do Registro',
  `MatriculaUsuario` smallint(5) unsigned NOT NULL COMMENT 'Matricula do Usuario',
  PRIMARY KEY  (`NumeroProcesso`,`AnoProcesso`,`ID_RegistroProcesso`),
  KEY `FK_tb_processos_1` (`MatriculaUsuario`),
  CONSTRAINT `FK_tb_processos_1` FOREIGN KEY (`MatriculaUsuario`) REFERENCES `tb_usuarios` (`Matricula`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabela de Processos';
[code]

A ordem:

PRIMARY KEY (`NumeroProcesso`,`AnoProcesso`,`ID_RegistroProcesso`),

E vem assim:

AnoProcesso, ID_RegistroProcesso, NumeroProcesso

Tem como ORGANIZAR por índice de criação dos campos que compõe a PRIMARY KEY?

Criado 3 de outubro de 2008
Respostas 0
Participantes 1