String matricula = "SELECT matricula.id_matricula matricula.numero_computador FROM usuario,matricula where usuario.id_usuario= " + Sessao.getInstancia().getUsuario().getId() + " and usuario.idmatricula = " + Sessao.getInstancia().getUsuario().getMatricula() + "";
tou com dúvida em como estrutura esse codigo sql
bom primeiro ele compara o id_usuario com o id do usuario logado e depois compara o idmatricula com o id da matricula do usuario logado (sei que isso é desnecessario ), minhas dúvida é como eu faria com esses 2 dados essa comparação:
usuario.idmatricula = matricula.id_matricula
Não sei se resolveria seu problema, mas você ja pensou em usar este campo como foreign key? Daí, ele como chave estrangeira você conseguiria manipulá-lo melhor, creio eu…
SELECT
m.id_matricula,
m.numero_computador
FROM
usuario u
INNER JOIN
matricula m ON(u.idmatricula = m.id_matricula)
WHERE
u.id_usuario = //Informe ID do usuário logado
AND u.idmatricula = //Informa ID da matrícula do usuário logado
eu sei que terei que fazer um commit de todos os insert’s , mas não tenho ideia a logica que vou usar nesses insert’s pois terá que ser em tabelas diferentes.
Antes de cadastrar um novo usuário já devem existir registros na tabela matrícula e permissão, com isso basta informar os ID’s de matrícula e permissão no insert de usuário.
Exemplo:
INSERT INTO MATRICULA(id_matricula, numero_computador) VALUES(1, 1234); --Inserindo uma matrícula
INSERT INTO PERMISSAO(id_matricula, numero_computador) VALUES(1, 'Categoria 1'); --Inserindo uma permissão
INSERT INTO USUARIO(id_usuario, idpermissao, login, senha, nome, numero_computador, idmatricula) VALUES(1, 1, 'admin', 'admin', 'Administrador', 1234, 1); --Inserindo um usuário
mesmo esse id matricula e id permissão sendo auto increment?
pq id permissão eu coloquei como auto increment
e matricula também
permissão creio que não fosse necessário, mas matricula acho que sim, por que vão ser muitos registros.
Sem saber no que exatamente você está com dificuldade e como estão os seus códigos fica difícil te dar um help…
Imagino que você tenha uma tela para cadastrar os usuários certo?
Nessa tela você deve ter os campos para que sejam informados a matrícula e a permissão certo?
Basta pegar os valores destes dois campos, validar se eles são valores válidos no BD (Um SELECT simples), caso não sejam válidos informe o usuário, e se forem válidos faça o INSERT normalmente igual já te mostrei em uma resposta anterior.
sim vou tentar
no caso seria a tela de cadastro de administrador
a pessoa iria cadastrar a matricula o numero do computador
e a categoria da pessoa (usuario nroaml, estagiario, adm)
então eu tive algumas ideias
como dar insert na tabela matricula e guardar as chaves com ```
RETURN_GENERATED_KEYS
Se esta forma que você implementou estiver funcionando, não tem segredo em aplicar o commit, pois todos os 3 inserts vão estar contidos na mesma transação!
opa man essa forma deu certo, mas encontrei um problema no segundo insert
ele funciona normalmente recebe todos os valores certinho, mas na hora de inserir não vai: