Como faço para passar como objeto ? [RESOLVIDO]

[code] * @author uaslei
*/
public class CadAlunoDao {

public String Salvar(String CodigoAluno, String Nome, String Status, String Endereco, String Cidade, String Bairro, String Uf, 
    String Cep, String DataNasc, String Idade, String Sexo, String Cpf, String Rg, String Nacionalidade, String Natural,
        String UfNascimento, String NomeMae, String NomePai, String Telefone, String Telefone1, String Telefone2) throws SQLException {

[/code]

Por que to criando uma ação para salvar no banco de dados só que o ideal e passar como objecto.

[code]package br.ifirst.autosystem.daos;

import br.ifirst.autosystem.connections.Conexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
*

  • @author uaslei
    */
    public class CadAlunoDao {

    public String Salvar(String CodigoAluno, String Nome, String Status, String Endereco, String Cidade, String Bairro, String Uf,
    String Cep, String DataNasc, String Idade, String Sexo, String Cpf, String Rg, String Nacionalidade, String Natural,
    String UfNascimento, String NomeMae, String NomePai, String Telefone, String Telefone1, String Telefone2) throws SQLException {

     String sql = "INSERT INTO aluno(cd_aluno,aluno,status,endereco,cidade,bairro,uf,cep"
             + "data_nasc,idade,sexo,cpf,rg,nacionalidade,natural,uf,nm_mae,nm_pai,telefone,telefone1,telefone2) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    
     Connection getCon = new Conexao().getcon();
     
     PreparedStatement stmt = getCon.prepareStatement(sql);
     
     stmt.setString(1, CodigoAluno);
     stmt.setString(2, Nome);
     stmt.setString(3, Status);
     stmt.setString(4, Endereco);
     stmt.setString(5, Cidade);
     stmt.setString(6, Bairro);
     stmt.setString(7, Uf);
     stmt.setString(8, Cep);
     stmt.setString(9, DataNasc);
     stmt.setString(10, Idade);
     stmt.setString(11, Sexo);
     stmt.setString(12, Cpf);
     stmt.setString(13, Rg);
     stmt.setString(14, Nacionalidade);
     stmt.setString(15, Natural);
     stmt.setString(16, UfNascimento);
     stmt.setString(17, NomeMae);
     stmt.setString(18, NomePai);
     stmt.setString(19, Telefone);
     stmt.setString(20, Telefone1);
     stmt.setString(21, Telefone2);
     
     stmt.execute();
     stmt.close();
     
     getCon.close();
     
     return null;
    

    }
    }
    [/code]

Cria uma classe com nome Aluno. Cada um dos parâmetros da assinatura será convertido em um atributo da classe aluno.
Então, muda a assinatura do método (que está horrível) para

public String Salvar(Aluno aluno){//blablabla
}

Entendeu?

Horrível?
Esta o cão chupando manga dos avessos kkkkkkkkkkkkkkkkkkk

:shock:

Aliás, muito sagaz o menino que usa preparedstatement e faz a assinatura assim.
Só um outro conselho, troque o String sql por StringBuffer.

Uaslei,

Seu método não está nada legal, assim como a modelagem da sua tabela também não.
Mas ignorando isso, segue método de forma menos pior:[code]public String salvar(Aluno aluno) throws SQLException {
StringBuffer sql = new StringBuffer();
sql.append(“INSERT INTO aluno(cd_aluno, aluno, status, endereco, cidade, bairro,”);
sql.append(" uf, cep, data_nasc, idade, sexo, cpf, rg, nacionalidade, natural, uf,");
sql.append(" nm_mae, nm_pai, telefone, telefone1, telefone2)");
sql.append(" VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

Connection getCon = new Conexao().getcon();

PreparedStatement stmt = getCon.prepareStatement(sql.toString());
stmt.setObject(1, aluno.getCodigoAluno());
stmt.setObject(2, aluno.getNome());
stmt.setObject(3, aluno.getStatus());
stmt.setObject(4, aluno.getEndereco());
stmt.setObject(5, aluno.getCidade());
stmt.setObject(6, aluno.getBairro());
stmt.setObject(7, aluno.getUf());
stmt.setObject(8, aluno.getCep());
stmt.setObject(9, aluno.getDataNasc());
stmt.setObject(10, aluno.getIdade());
stmt.setObject(11, aluno.getSexo());
stmt.setObject(12, aluno.getCpf());
stmt.setObject(13, aluno.getRg());
stmt.setObject(14, aluno.getNacionalidade());
stmt.setObject(15, aluno.getNatural());
stmt.setObject(16, aluno.getUfNascimento());
stmt.setObject(17, aluno.getNomeMae());
stmt.setObject(18, aluno.getNomePai());
stmt.setObject(19, aluno.getTelefone());
stmt.setObject(20, aluno.getTelefone1());
stmt.setObject(21, aluno.getTelefone2());

stmt.execute();
stmt.close();

getCon.close();

return null;

}[/code]Abraço.

Agora ficou lindoooo !!! kkkk
Só faltou arrumar esse return null ai…

Huahuahua. Certo.[code]public void salvar(Aluno aluno) throws SQLException {
StringBuffer sql = new StringBuffer();
sql.append(“INSERT INTO aluno(cd_aluno, aluno, status, endereco, cidade, bairro,”);

...

getCon.close();  

}[/code]

Agora sim…galera top !! :smiley:
Para quem tem duvidas de pratica OOP segue algumas dicas - http://fernandofranzini.wordpress.com/2009/01/23/programando-em-equipe/
T+

[quote=isaiaspf]Huahuahua. Certo.[code]public void salvar(Aluno aluno) throws SQLException {
StringBuffer sql = new StringBuffer();
sql.append(“INSERT INTO aluno(cd_aluno, aluno, status, endereco, cidade, bairro,”);

...

getCon.close();  

}[/code][/quote]

valeu kra me ajudou bastante hehehe … valeu galera muito obrigado

Aproveitando esse tópico, gostaria de perguntar a seguinte coisa; E se eu tivesse um método que retorne meu array, com eu faria no stmt para chamar a posição apenas que eu quero do meu array para gramar em atributo de meu banco?.

public static void incluir (ModelVeiculo modelVeiculo)
{

		Connection conn = null;
		PreparedStatement stm = null;
		
		try
		{
			Banco  acesso = new Banco();
			conn = acesso.conecta();
			
			String sqlInsert = " INSERT INTO VEICULO(  VEI_NOME								," +
													 " VEI_COR							," +
													 " VEI_ANO							," +
													 " VEI_CHASSIS							," +
													 " VEI_PLACA							," +
													 " VEI_FABRICANTE						," +
													 " VEI_KM_RODADO						," +
													 " VEI_DIARIA							," +
													 " VEI_KM_LIVRE						," +
													 " VEI_KM_CONTROLADO					," +
													 " VEI_SITUACAO_VEICULO					," +
													 " VEI_NAVEGADOR_GPS					," +
													 " VEI_CADEIRA_BEBE					," +
													 " VEI_MOTORISTA, VEI_ECONOMICO			," +
													 " VEI_ECNOMICO_COM_AR				," +
													 " VEI_INTERMEDIARIO					," +
													 " VEI_INTERMEDIARIO_WGON				," +
													 " VEI_INTERMEDIARIO_WAGON_ESPECIAL		," +
													 " VEI_EXECULTIVO						," +
													 " VEI_ULTILITARIO						," +
													 " VEI_EXECULTIVO_LUXO					," +
													 " VEI_PICK_UP							," +
													 " VEI_4X4_ESPECIAL						," +
													 " VEI_MINIVAN							," +
													 " VEI_FURGAO							," +
													 " VEI_BLINDADO ) 						 " +
													 " VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ) ";
			
			
			
			
				stm = conn.prepareStatement(sqlInsert);
				stm.setString ( 1,  modelVeiculo.getNomeVeiculo()); 
				stm.setString ( 2,  modelVeiculo.getCorVeiculo());
				stm.setString ( 3,  modelVeiculo.getChassi());
				stm.setString ( 4,  modelVeiculo.getPlaca());
				stm.setString ( 5,  modelVeiculo.getFabricante());
				stm.setInt    ( 6,  modelVeiculo.getAnoVeiculo());
				stm.setDouble ( 7,  modelVeiculo.getKmRodado());
				stm.setDouble ( 8,  modelVeiculo.getDiaria());
				stm.setDouble ( 9,  modelVeiculo.getKmLivre());
				stm.setDouble ( 10, modelVeiculo.getKmControlado());
				stm.setBoolean( 11, modelVeiculo.getSituacaoVeiculo());
				Adicionar aqui um forma de referencia um array e pegar a posição dele...			
				
                                    stm.execute();
				
			}
		}
	
		catch (Exception e)
		{
			e.printStackTrace();
			
			try
			{
				conn.rollback();
			}
			catch (SQLException e1)
			{
				System.out.print(e1.getStackTrace());
			}
		}
		finally
		{
			if (stm != null)
			{
				try
				{
					stm.close();
				}
				catch (SQLException e1)
				{
					System.out.print(e1.getStackTrace());
				}
			}
		}
	}

}

Obrigado…

Um exemplo para vc ve se te ajudar ai…

[code]public List PesquisaAlunos(int campo, Object valor) throws SQLException {

    List<String> campos = new ArrayList<String>();
    campos.add("nm_aluno");
    campos.add("cpf");
    
    String sql = "select * from aluno, funcionario where id_fun = cd_fun and "+campos.get(campo) + " ilike '"+ valor+"%' order by 1";
    PreparedStatement stmt = conexao.prepareStatement(sql);
    ResultSet rs = stmt.executeQuery();
    
    List<Aluno> alunoList = new ArrayList<Aluno>();

    while (rs.next()) {
        Aluno aluno = new Aluno();
        aluno.setCdAluno(rs.getInt("cd_aluno"));
        aluno.setNome(rs.getString("nm_aluno"));
        aluno.setCpf(rs.getString("cpf"));
        aluno.setStatus(rs.getString("status"));
        aluno.setEndereco(rs.getString("endereco"));
        aluno.setCidade(rs.getString("cidade"));
        aluno.setBairro(rs.getString("bairro"));
        aluno.setUf(rs.getString("uf"));
        aluno.setCep(rs.getString("cep"));
        aluno.setDataNac(rs.getString("dt_nasc"));
        aluno.setIdade(rs.getInt("idade"));
        aluno.setSexo(rs.getString("sexo"));
        aluno.setCpf(rs.getString("cpf"));
        aluno.setRg(rs.getString("rg"));
        aluno.setNacionalidade(rs.getString("nacionalidade"));
        aluno.setNaturalidade(rs.getString("naturalidade"));
        aluno.setUf2(rs.getString("uf2"));
        aluno.setNomeMae(rs.getString("nm_mae"));
        aluno.setNomePai(rs.getString("nm_pai"));
        aluno.setTelefone(rs.getString("telefone"));
        aluno.setTelefone2(rs.getString("telefone2"));
        aluno.setTelefone3(rs.getString("telefone3"));
        aluno.setCategoria(rs.getString("categoria"));
        aluno.setCdFunc(rs.getInt("id_fun"));
        aluno.setNmFunc(rs.getString("nm_func"));
        alunoList.add(aluno);
    }

    rs.close();
    stmt.close();

    return alunoList;
}[/code]