Inserir dados de tabelas diferentes na mesma classe!

3 respostas
R

pessoal quem puder me ajudar eu agradeço desde jah!!!
o q acontece comigo eh o seguinte:
no meu banco mysql eu tenhu a tabela setor com os campos id e descricao, mas o ramal fica em outra tabela setor_ramal(um setor tem mais de um ramal por isso tem-se essa tabela)que tem o id do setor e o ramal. entaum como devo fazer para inserir ???Q
to fazendo com servlet …
de uma olhada ai no codigo!!

package controle_materiais;

import PersistLayer.Persistente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.Vector;
/**
 *
 * @author Administrador
 */
public class Setor implements Persistente {
    
private String descricao;
private String ramal;
private boolean modificado;
private boolean novo;        


public void setDescricao(String Ddescricao){
    modificado = true;
    descricao = Ddescricao;
   
}
public String getDescricao(){
    return descricao;
}
public void setRamal(String Rramal){
    modificado = true;
    ramal = Rramal;
    }

public String getRamal(){
    return ramal;
}
public void inserir(Connection conn) throws SQLException {
  int aux;		
    System.out.println("Inserindo Setor ");
              conn.PreparedStatement pstmt = conn.prepareStatement("INSERT INTO setor values ()");
                pstmt.setString(1, getDescricao());
                PreparedStatement pstmt = 
				conn.prepareStatement("select setor_in_codigo from setor   WHERE STR_ST_DESCRICAO= getNome()");
                ResultSet rs = pstmt.executeQuery();
                aux = rs.getInt("STR_IN_CODIGO");
		conn.prepareStatement pstmt = conn.prepareStatement("INSERT INTO setor_ramal values(?), where PK_SETOR_IN_CODIGO = aux");
	        pstmt.setString(2,getRamal());
                novo = false;
		modificado = false;
	}

	/***
	*  Implementação de atualizar
	*/
	public void atualizar(Connection conn) throws SQLException {
	int aux;	
            System.out.println("Atualizando Setor ");
		PreparedStatement pstmt = 
				conn.prepareStatement("UPDATE setor  set  SETOR_ST_DESCRICAO=? WHERE SETOR_ST_DESCRICAO = getNome());");
		pstmt.setString(1, getDescricao());
                pstmt.close();
                PreparedStatement pstmt = 
				conn.prepareStatement("select setor_in_codigo from setor   WHERE AGE_ST_NOME = getNome()");
                ResultSet rs = pstmt.executeQuery();
                aux = rs.getInt("STR_IN_CODIGO");
                pstmt.close();
                conn.prepareStatement pstmt = conn.prepareStatement("UPDATE SETOR_RAMAL INTO setor_ramal values(?), where PK_SETOR_IN_CODIGO = aux");
		pstmt.setString(2,getRamal());
                pstmt.close();
              	novo = false;
		modificado = false;		
	}

	/***
	*  Implementação de remover
	*/
	public void remover(Connection conn) throws SQLException {
            PreparedStatement pstmt = 
				conn.prepareStatement("DELETE setor  set  SETOR_ST_DESCRICAO=? WHERE SETOR_ST_DESCRICAO = getNome());");
		pstmt.setString(1, getDescricao());
        }
        
        
    public void criarRepositorio(Connection conn) {
    }

    public boolean getModificado() {
    }

    public boolean getNovo() {
    }
    
}

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Reifel[/color][/size] :joia:

3 Respostas

BrunoBastosPJ

olha só o ramal tem q ser um array, e na tabela ramal vc tem q ter uma chave primaria e uma extrangeira. E a chave extrangeira deve poder ter valor null…

por exemplo

id_ramal_pk ramal id_ramal_fk
1 12345 2
2 12346 3
3 12347 null
4 23456 null

se a tabela setor esta assim

id_setor descricao ramal_fk
1 oi 1
2 ola 4

na verdade o setor 1 tem 3 ramais e o setor 2 apenas 1, você tem que inserir esse array para ele poder fikar do jeito acima… dentro de um for…

for(int i =0;i<array.length;i++){
    if(i+1 < array.lenght)
         insert into table (ramal, i+1)...
    else
          insert into table (ramal, null)...

alguma coisa parecida

R

rpzzzzz… num eh isso minha duvida naum…
eu quero saber como vou fazer para adicionar o ramal(uma tablea) no setor(outra tabela). Minha duvida eh em relação ao metodo[color=“blue”][size=“18”] inserir[/size][/color]

BrunoBastosPJ
<blockquote>for(int i =0;i<array.length;i++){

if(i+1 < array.lenght)

insert into table (ramal, i+1)…

else

insert into table (ramal, null)… </blockquote>

esse negócio ai encima quer dizer q vc vai inserir todos os ramais daquele setor lá… e depois no setor você vai inserir a descriçao e a id do ramal…

Sua dúvida é no sql?

Criado 20 de junho de 2006
Ultima resposta 20 de jun. de 2006
Respostas 3
Participantes 2