Inserir Dados no Banco

9 respostas
anderson_al

tudo bem pessoal??

sou novo em java e estou tentando montar uma telinha de cadastro.
Só que qdo vou inserir os dados em meu Banco, ele retorna uma mensagem dizendo “que nao foi estabelecida conexão”…

alguem pode da uma olhada em meu Código e Ver onde pequei???

agradeço desde já…

public class AplicacaoPrincipal extends JFrame{
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
	Inicial segundajanela;

	public AplicacaoPrincipal(){
		super("Almoxarifado");

		Container tela = getContentPane();
		tela.setLayout(null);

	//menu Cadastro
		JMenu cadastro = new JMenu("Cadastro");

	//"itemFornecedor" com seu "Clique"
		final JMenuItem fornecedor = new JMenuItem("Fornecedor");
			fornecedor.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					segundajanela = new Inicial(null,"Cadastro Fornecedor",true);
					segundajanela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
					segundajanela.setVisible(true);
	}
});
		//Adcionando Menu "Cadastro" a barra
		cadastro.add(fornecedor);
		JMenuBar barra = new JMenuBar();
		setJMenuBar(barra);
		barra.add(cadastro);
		//dimensionando e exibindo Janela Principal
		setSize(800,600);
		setVisible(true);
		setLocationRelativeTo(null);
	}
public static void main(String args[]){
	AplicacaoPrincipal app = new AplicacaoPrincipal();
	app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class Inicial extends JDialog{
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
	JButton sair, incluir;

	JLabel nome1,ender1,comp1,cidade1,estado1,cep1,fone1,cel1,respon1;
	JTextField textNome,textEnd,textComp,textCidade,textEstado,textCep,textFone,textCel,textRespon;

	public Inicial(Frame owner, String title, boolean modal){
		super (owner,title,modal);
		Container tela1 = getContentPane();
		tela1.setLayout(null);
		//adcionando Jlabel
		nome1 = new JLabel("Nome");
		ender1 = new JLabel("Endereço");
		comp1 = new JLabel("Complemento");
		cidade1 = new JLabel("Cidade");
		estado1 = new JLabel("Estado");
		cep1 = new JLabel("CEP");
		fone1 = new JLabel("Fone");
		cel1 = new JLabel("Celular");
		respon1 = new JLabel("Responsável");
		//adcionando TextField
		textNome = new JTextField(50);
		textEnd = new JTextField(50);
		textComp = new JTextField(50);
		textCidade = new JTextField(50);
		textEstado = new JTextField(2);
		textCep = new JTextField(50);
		textFone = new JTextField(15);
		textCel = new JTextField(15);
		textRespon = new JTextField(50);
		//ajustando Jlabel
		nome1.setBounds     (50, 20, 80, 20); //Coluna,Linha,Largura,Comprimento
		ender1.setBounds    (50, 43, 80, 20);
		comp1.setBounds     (50, 66, 80, 20);
		cidade1.setBounds   (50, 89, 80, 20);
		estado1.setBounds  (328, 89, 80, 20);
		cep1.setBounds     (50, 112, 80, 20);
		fone1.setBounds    (50, 135, 80, 20);
		cel1.setBounds     (219, 135, 80, 20);
		respon1.setBounds  (50, 158, 80, 20);
		//ajustando TextField
		textNome.setBounds   (110, 20, 300, 20);
		textEnd.setBounds    (110, 43, 300, 20);
		textComp.setBounds   (132, 66, 200, 20);
		textCidade.setBounds (110, 89, 200, 20);
		textEstado.setBounds(370, 89, 25, 20);
		textCep.setBounds(110, 112, 200, 20);
		textFone.setBounds(110, 135, 90, 20);
		textCel.setBounds(262, 135, 90, 20);
		textRespon.setBounds(132, 158, 279, 20);

		//adcionando JLabel a tela
		tela1.add(nome1);tela1.add(ender1);tela1.add(comp1);tela1.add(cidade1);tela1.add(estado1);
		tela1.add(cep1);tela1.add(fone1);tela1.add(cel1);tela1.add(respon1);

		//adcionando JTextField
		tela1.add(textNome);tela1.add(textEnd);tela1.add(textComp);tela1.add(textCidade);
		tela1.add(textEstado);tela1.add(textCep);tela1.add(textFone);tela1.add(textCel);
		tela1.add(textRespon);

		//botao Incluir
		incluir = new JButton("Incluir");
		incluir.setBounds(135, 220, 80, 20);
		tela1.add(incluir);
		incluir.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				try{

					String url = "jdbc:odbc:cadastro";
					String usuario = "";
					String senha = "";
					Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
					Connection conexao = Conexao.abrirConexao();
					conexao = DriverManager.getConnection(url, usuario, senha);
					Statement st = conexao.createStatement();
					st.executeUpdate("INSERT INTO Cadastro(Nome,Endereco,Complemento,Cidade,Estado,CEP,Fone,Celular)VALUES('''+textNome.getText()+''','''+textEnd.getText()+''','''+textComp()+''','''+textCidade()+''','''+textEstado()+''','''+textCep()+''','''+textFone()+''','''+textCel()+''','''+textRespon+''')");
					textNome.setText("");
					textEnd.setText("");
					textComp.setText("");
					textCidade.setText("");
					textEstado.setText("");
					textCep.setText("");
					textFone.setText("");
					textCel.setText("");
					textRespon.setText("F");

					textNome.requestFocus();
					JOptionPane.showMessageDialog(null,"Registro Inserido","Mensagem do Programa",JOptionPane.INFORMATION_MESSAGE);
					st.close();
					conexao.close();
			}
				catch(Exception event){
					JOptionPane.showMessageDialog(null,"Conexão Não Estabelecida","Mensagem do Programa",JOptionPane.ERROR_MESSAGE);
				}
		}});
		//botao Sair
		sair = new JButton("Sair");
		sair.setBounds(50, 220, 80, 20);
		TBsair tsair = new TBsair();
		sair.addActionListener(tsair);
		tela1.add(sair);
		setSize(550,300);
		setLocationRelativeTo(null);

	}
}
private class TBsair implements ActionListener{
	public void actionPerformed(ActionEvent evento){
		int status = JOptionPane.showConfirmDialog(null,"Deseja Fechar?","Mensagem de Saída",JOptionPane.YES_NO_OPTION);
		if (status==JOptionPane.YES_OPTION){
			segundajanela.setVisible(false);
			segundajanela.dispose();
		}
	}
}
}

e aqui está a conexõa com o Banco… qdo executo a conexão é estabelecida

public class Conexao {
	public static Connection abrirConexao(){
		try{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		Connection conexao;
		String url = "jdbc:odbc:cadastro";
		String user = "";
		String pass = "";
		conexao = DriverManager.getConnection(url, user, pass);
		System.out.println(conexao + " CONECTADO");
		return conexao;
	}catch(Exception e){
		e.printStackTrace();
	}
	return null;
}
	public static void main(String args[]){
		abrirConexao();

	}
	}

Agradeço e desculpa o transtorno…

9 Respostas

alanbrasil1984

Acredito que seja a url do banco de dados.

Att,

Alan Rodrigo.

Washington_Wiltenbur

q banco de dados vc está usando?

T

Se for Access, veja se é um banco que pede senha ou não.
Se estiver protegido por senha, acho que alguém respondeu aqui neste fórum que era necessário acrescentar, naquela string “jdbc:odbc:cadastro”, um parâmetro “uid” e outro “pwd”.
Dê uma olhada, porque não sei isso de cor (Access não é um banco de dados, é um “bando de dados” - ha ha ha).

jopss

completando, a conexao e driver tem q ser especifica para o seu banco. Se nao for Access, tem q baixar o driver específico.

jopss

anderson_al

estou usando o access 2003,

criei uma tabela simples com os campos: nome, endereco…

nome do Banco: BD
nome Tabela: cadastro
e no ODBC: cadastro

Robsonramosabrao

Cara…

Se for Acess tenta ver se o ODBC esta com o caminha certinho no banco e se vc tem Acesso a gravação…

Além disso verifica se a String URL esta exatamente igual à do ODBC…OK

anderson_al

thingol:
Se for Access, veja se é um banco que pede senha ou não.
Se estiver protegido por senha, acho que alguém respondeu aqui neste fórum que era necessário acrescentar, naquela string “jdbc:odbc:cadastro”, um parâmetro “uid” e outro “pwd”.
Dê uma olhada, porque não sei isso de cor (Access não é um banco de dados, é um “bando de dados” - ha ha ha).

O banco não está com senha.

vc diz acrescentar o parâmetro se houver senha??

criei uma tabela simples com os campos: nome,endereco…

nome do Banco: BD
nome Tabela: cadastro
e no ODBC: cadastro

anderson_al

Robsonramosabrao:
Cara…

Se for Acess tenta ver se o ODBC esta com o caminha certinho no banco e se vc tem Acesso a gravação…

Além disso verifica se a String URL esta exatamente igual à do ODBC…OK

amigo, creio que o caminho está certo, pq, quando eu tento inserir os dados, no “CONSOLE” aparece a frase “CONECTADO” ou nao tem nada haver isso??

e esse acesso a gravação está liberado.

será que tem algum erro no codigo?

anderson_al

jopss:
completando, a conexao e driver tem q ser especifica para o seu banco. Se nao for Access, tem q baixar o driver específico.

jopss

estou usando o access amigo.
ja configurei o ODBC e quando tento inserir os dados, no “CONSOLE” aparece a mensagem “CONECTADO”, porem, abri-se uma janela dizendo que “nao foi possivel conectar com o banco”.

Será algum problema no código?

Criado 28 de fevereiro de 2008
Ultima resposta 28 de fev. de 2008
Respostas 9
Participantes 6