Enviar item selecionado no combobx para o BD

4 respostas
gabi-sch
Oi pessoal;

Estou eu aqui encomodando de volta por causa do combobox,  aprendi a carregá-lo dinamicamente;

mas agora eu preciso enviar o item selecionado para o banco de dados, mas eu não consigo ¬¬

 tentei de algumas maneiras

vou passar meu código se alguém puder ajudar eu agreço mto!!!
package Pedcompra;
import java.sql.*;
import java.util.Vector;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class Pedcompra1 extends Pedcompra implements ActionListener {
	
	  static private String selectedString(ItemSelectable is) 
	  {
		Object selected[] = is.getSelectedObjects();
	    return ((selected.length == 0) ? "null" : (String) selected[0]);
	  }
	
	ResultSet rs;
	Statement MeuState ;
	private JComboBox comboBox;
	//private JComboBox comboBox;
	
	public Pedcompra1()
	{
		B1.addActionListener(this);
		B2.addActionListener(this);
		B3.addActionListener(this);
		String url = "jdbc:mysql://localhost/benz";
		try
		{
		
			Class.forName("com.mysql.jdbc.Driver");
			Connection Conexao =DriverManager.getConnection(url);
			MeuState = Conexao.createStatement();
			String SQL = "SELECT * FROM fornecedor";
			rs = MeuState.executeQuery(SQL);
			
				Vector opcoes = new Vector();
				opcoes.add("");
				
				while(rs.next())
				{   
					  opcoes.add(rs.getString("razaosocial_fornecedor"));   
				}   	
				
				Vector labels[] = {opcoes };
			    JComboBox comboBox = new JComboBox(opcoes);
			    JComboBox A = comboBox;
			    comboBox.setBounds(180,105,170,20);
			    P2.add(comboBox, BorderLayout.SOUTH);
			    P2.setVisible(true);
			    P2.setBorder(BorderFactory.createLoweredBevelBorder());
				P2.setBounds(120,190,600,145);
				P2.setLayout(null);
				P1.add(P2);
				//String variavel = (String) comboBox.getSelectedItem();
			    getContentPane().add(P1);
			    
			rs.close();	
		}
		catch(ClassNotFoundException ex)
		{
			JOptionPane.showMessageDialog(null,"Driver  não encontrado ","Mensagem",1);
			System.exit(0);
		}
		catch(SQLException ex)
		{
			JOptionPane.showMessageDialog(null,"Erro de SQL","Erro",0);
			System.exit(0);
		}
	}
	public void actionPerformed(ActionEvent ev)
	{
			
		if(ev.getSource()==B3)
		{
			this.dispose();
		}
		if(ev.getSource()==B2)
		{
			Tx1.setText("");
			Tx2.setText("");
			Tx3.setText("");
		}
		if(ev.getSource()==B1)
		{
			if(Tx1.getText().equals(""))
			{
				JOptionPane.showMessageDialog(null,""+"O Número do Pedido deve ser \nPreenchido Obrigatoriamente!","Mensagem",1);
			}else if(Tx2.getText().equals(""))
			{
				JOptionPane.showMessageDialog(null,""+"A Data do Pedido deve ser \nPreenchida Obrigatoriamente!","Mensagem",1);
			}else if(Tx3.getText().equals(""))
			{
				JOptionPane.showMessageDialog(null,""+"A Quantidade de Mercadorias deve ser \nPreenchida Obrigatoriamente!","Mensagem",1);
			}else 
			{
				testarRegistro();
				cadastrar();
			}			
		}
	}
	public void cadastrar()
	{		
		ItemListener itemListener = new ItemListener() 
	    {
	      public void itemStateChanged(ItemEvent itemEvent) 
	      {
	        int state = itemEvent.getStateChange();
	        System.out.println((state == ItemEvent.SELECTED) ? "Selected" : "Deselected");
	        System.out.println("Item: " + itemEvent.getItem());
	        ItemSelectable is = itemEvent.getItemSelectable();
	   		System.out.println(", Selected: " + selectedString(is));
	      }
	    };
			String variavel = (String) comboBox.getSelectedItem();
			String C = Tx1.getText();
			String D = Tx2.getText();
			String E = Tx3.getText();

			try
			{			
				String SQL = "INSERT INTO pedcompra (num_pedCompra, data_pedCompra, qtdecompra,razaosocial_fornecedor) VALUES " +
						"('"+C+"','"+D+"','"+E+"','"+variavel+"')";
				MeuState.executeUpdate(SQL);
			   	JOptionPane.showMessageDialog(null,""+"Novo Pedido de Compra Inserido \nCom Sucesso!","Mensagem",1);
			
			}
			catch(SQLException ex)
			{
				JOptionPane.showMessageDialog(null,"Erro de Digitação ou\nEsta razão/social já existe ", "Erro",0);
			}
			
			
			
		
	}
	public void testarRegistro()
	{
			
			String C = Tx1.getText();
			String D = Tx2.getText();
			String E = Tx3.getText();
				
			try
			{
			
				String SQL = "SELECT * FROM pedcompra WHERE num_pedCompra ='"+Tx1.getText()+"'";
				rs = MeuState.executeQuery(SQL);
				rs.next();
				String Val = rs.getString("num_pedCompra");
				
				if(Val.equals(C))
				{
					Tx1.setText("");
					testarRegistro();
				}
				
				rs.close(); 
			}
			catch(SQLException ex)
			{
					
			}
		
	}
	
	public static void main ( String arg[])
	{
		new Pedcompra1().show();
	}
}

4 Respostas

Bird89du

oi…

não tem segredo,

pega o valor do jcombobox

JCombobox teste = new JCombobox(...);

teste.getText();

você pega esse teste.getText(); e manda pro banco…

eu faço assim!

boa sorte

ajfilho

Vamos dar um exemplo usando Carro:

Classe Carro

atributo MarcaCarro

getters and setters do atributo MarcaCarro

ficaria mais ou menos assim

onde carro é a instância da classe Carro

depois você passa o bean completo e cadastra no banco.

Bird89du :

oi…

não tem segredo,

Realmente não tem mesmo.

Abraços!

Bird89du

é verdade,
mas é assim…

getSelectedItem.[color=red]toString();[/color]

ajfilho

Ou pode dar um cast para String antes;

tipo:

Abraços!

Criado 10 de dezembro de 2008
Ultima resposta 10 de dez. de 2008
Respostas 4
Participantes 3