Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Danyx

RMS dependência de Aluno, Disciplina e Turma

Recommended Posts

Bom dia Pessoas!!

 

O Prof. na Universidade pediu pra nós desenvolvermos um Sistema de Matrícula em J2me:

 

CADASTRO

Aluno

Disciplina

Turma

 

LISTAGEM

Turma

Disciplina

Alunos

 

Na parte de Cadastro e Listagem implementamos, no entanto, estamos com dificuldade na listagem do Aluno por ex: João vir a Disciplina e a turma correspondente em RMS.

 

Desde já agradeço!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a dificuldade encontrada? Mostre o código que assim fica mais fácil de ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a dificuldade encontrada? Mostre o código que assim fica mais fácil de ajudar.

ok:

 

O que está acontecendo é o seguinte:

 

Os cadastros, Exclusão e alteração conseguimos fazer, no entanto, na classe turma, que tem que vir os alunos e disciplinas como referencia é que trava, ou seja, seriam 03 armazéns: aluno, disciplina e turma, sendo que a turma iria ficar registrado os 03 para mostrar em uma listagem um referente ao outro.

 

não estamos conseguindo resgatar os alunos e disciplinas na turma comparar (RecordComparator) e fazer a listagem.

 

Segue o modelo da interface: http://aplicativos9.com.br/imagens/interface.jpg

 

Segue o código:

 

package midlet;

import javax.microedition.midlet.MIDlet;

import javax.microedition.lcdui.*;

import java.io.*;

 

 

import java.util.Vector;

import javax.microedition.rms.*;

 

public class Turma extends MIDlet implements CommandListener{

private Display d;

private List lstNomes;

 

 

private Form fmNovo;

private TextField tfNome, tfFone;

 

private Command cmAjuda, cmNovo, cmSair,

cmVoltar, cmSalvar, cmExcluir, cmEditar;

 

private Alert alAviso;

 

private TextBox txbAjuda;

 

private RecordStore rsNomes3;

 

private RecordEnumeration reNomes3;

private Vector vetIds = new Vector();

 

public void startApp()

{

d = Display.getDisplay(this);

 

cmAjuda = new Command("Ajuda", Command.ITEM, 1);

cmNovo = new Command("Novo", Command.ITEM, 2);

cmSair = new Command("Sair", Command.EXIT, 1);

cmVoltar = new Command("Voltar", Command.BACK, 1);

cmSalvar = new Command("Salvar", Command.SCREEN, 1);

cmExcluir = new Command("Excluir", Command.ITEM, 4);

cmEditar = new Command("Editar", Command.ITEM, 5);

 

lstNomes = new List("Cadastro de Turma", List.EXCLUSIVE);

lstNomes.addCommand(cmAjuda);

lstNomes.addCommand(cmNovo);

lstNomes.addCommand(cmSair);

lstNomes.addCommand(cmExcluir);

lstNomes.addCommand(cmEditar);

lstNomes.setCommandListener(this);

 

fmNovo = new Form("Nova Turma");

fmNovo.addCommand(cmVoltar);

fmNovo.addCommand(cmSalvar);

fmNovo.setCommandListener(this);

 

 

 

 

tfNome = new TextField("Nome: ", "", 60, TextField.ANY);

tfFone = new TextField("Fone: ", "", 8, TextField.PHONENUMBER);

 

 

fmNovo.append(tfNome);

fmNovo.append(tfFone);

 

 

 

 

 

 

 

alAviso = new Alert("Aviso", "Por favor, preencha todos os campos",

null, AlertType.INFO);

alAviso.setTimeout(Alert.FOREVER);

 

 

txbAjuda = new TextBox("Ajuda", "Este sistema foi desenvolvido por " +

"Daniel dos Santos Cardoso " +

"Analista de Desenvolvedor Web",

500, TextField.ANY);

txbAjuda.addCommand(cmVoltar);

txbAjuda.setCommandListener(this);

 

 

d.setCurrent(fmNovo);

 

 

 

 

criaBD(); //chamando o método criBD na inicializaçao

leBD();

 

 

 

 

}

 

public void criaBD()

{

try

{

rsNomes3 = RecordStore.openRecordStore("bd_turma",true);

 

 

System.out.println("Banco criado ou aberto com sucesso");

System.out.println("Nome do banco "+rsNomes3.getName());

System.out.println("Número de registros ="+rsNomes3.getNumRecords());

System.out.println("Espaço ocupado = "+rsNomes3.getSize());

System.out.println("Espaço disponível = "+rsNomes3.getSizeAvailable());

 

}

catch(Exception erro)

{

System.out.println("Não foi possível criar o Banco.:");

}

}

 

public void insereDado()

{

try

{

ByteArrayOutputStream bStream = new ByteArrayOutputStream();

DataOutputStream dStream = new DataOutputStream(bStream);

dStream.writeUTF(tfNome.getString());

dStream.writeUTF(tfFone.getString());

dStream.flush();

byte [] dados = bStream.toByteArray();

rsNomes3.addRecord(dados,0,dados.length);

bStream.close();

dStream.close();

}

catch(Exception erro)

{

System.out.println("Erro ao inserir dados"+erro);

}

}

public void alteraDado()

{

try

{

ByteArrayOutputStream bStream = new ByteArrayOutputStream();

DataOutputStream dStream = new DataOutputStream(bStream);

dStream.writeUTF(tfNome.getString());

dStream.writeUTF(tfFone.getString());

dStream.flush();

byte [] dados = bStream.toByteArray();

//rsNomes.addRecord(dados,0,dados.length);

rsNomes3.setRecord(Integer.parseInt(vetIds.elementAt(lstNomes.getSelectedIndex()).toString()),dados, 0, dados.length);

bStream.close();

dStream.close();

}

catch(Exception erro)

{

System.out.println("Erro ao inserir dados"+erro);

}

}

 

 

public void leBD()

{

try

{

while (lstNomes.size()>0)

lstNomes.delete(0); //limpar a lista

ByteArrayInputStream inputStream = null;

DataInputStream dataStream = null;

reNomes3 = rsNomes3.enumerateRecords(null, null, false);

int id = 0;

byte [] dados = null;

vetIds.removeAllElements();

while (reNomes3.hasNextElement())

{

id = reNomes3.nextRecordId();

vetIds.addElement(""+id);

dados = rsNomes3.getRecord(id);

inputStream = new ByteArrayInputStream(dados);

dataStream = new DataInputStream(inputStream);

lstNomes.append(dataStream.readUTF()+" - "+

dataStream.readUTF(), null);

 

 

}

inputStream.close();

dataStream.close();

}

catch(Exception erro)

{

System.out.println("erro ao ler banco de dados ");

}

}

public void deletar()

{

try

{

int indice = lstNomes.getSelectedIndex();

rsNomes3.deleteRecord(Integer.parseInt(vetIds.elementAt(indice).toString()));

leBD();

}

catch(Exception erro)

{

System.out.println("Não foi possível deletar");

}

}

 

public void commandAction(Command c, Displayable dis)

{

if (c == cmSair)

{

destroyApp(true);

notifyDestroyed();

}

else if (c == cmNovo)

{

d.setCurrent(fmNovo);

d.setCurrent(lstNomes);

}

else if (c == cmExcluir)

{

deletar();

}

else if(c == cmEditar)

{

alteraDado();

}

else if (c == cmVoltar)

{

d.setCurrent(lstNomes);

}

else if (c == cmSalvar)

{

if (tfNome.getString().length() > 0 &&

tfFone.getString().length() > 0)

{

lstNomes.append(tfNome.getString()+" - "+

tfFone.getString(), null);

insereDado(); //chamando o metodo

 

tfNome.setString("");

tfFone.setString("");

 

d.setCurrent(lstNomes);

}

else

{

d.setCurrent(alAviso);

}

}

else if (c == cmAjuda)

{

d.setCurrent(txbAjuda);

}

}

 

 

public void pauseApp(){}

public void destroyApp(boolean d){}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.