Problema com classpath eu acho?!?

12 respostas
M

Galera seguinte to rodando uma classe simples de teste que usa o bd hsqldb com eclipse, até ai beleza ele funciona normal porque setei no eclipse o classpath do hsqldb. Mas duvida é o seguinte queria fazer funcionar esse class sem tar no eclipse seja no java mesmo e não consigo, outra coisa meus dados inserido no bd apos execução ele some não fica no banco??? so funciona em momento de execução quando eu volto o bd ta vazio denovo?!?

Alguem pode dar uma ajuda??

Abraço
Maniezo

12 Respostas

R

… que erro gera quando vc executa fora do eclipse ? ClassNotFound ???
… nunca usei o hsqldb, mas ele naum tem que comitar os dados para poder armazenar ???

flw!

C

Olá.
Já experimentou colocar o driver do Banco junto com seu projeto?
Já configurou as variáveis de ambiente do SO(JAVA_HOME e CLASS_PATH)?

M

Valew!! Funcionou setando a classpath no ruindows… mas ainda tenho duvida com bc, ele fica na memoria, por exemplo criei o arquivo e estrutura da tabela pelo mananger do hsqldb até ai beleza to conectando dando select e até insert so que meus insert da minha class so entra em momento de execução se eu rodar o codigo denovo não estara la mais os insert da ultima execução!!!

Valew!!!

C

Então você na verdade não está inserindo nada.
Provavelmente é um problema com maipulação do objeto Statement que trata da suas querys.
Aí vai um exemplo de código que faz inserções em um BD PostGres via aplicação Java.
Tavez te ajude.
Preste atenção, quando for estudar o código nas classes Connection e Statement ,principalmente naúltima, na maneira como os objetos instanciados tratam as requisições SQL.
PS:Você reparou que eu tenho mais quadradinhos azuis do que você?
Na parte superior do seu Avatar.

package Teste;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;





/**
* This code was generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* *************************************
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED
* for this machine, so Jigloo or this code cannot be used legally
* for any corporate or commercial purpose.
* *************************************
*/
public class Biblioteca extends javax.swing.JPanel {
	private JLabel lblBiblLogo;
	private JLabel lblNomedaObra;
	private JLabel lblTipoMat;
	private JLabel lblLocalDeaArmazenamento;
	private JLabel jLabel1;
	private JTextField tipoMaterial;
	private JTextField nomedaobra;
	private JTextField autor;
	private JLabel lblAutor;
	private JTextField localdeArmazenamento;
	private JTextArea jTextArea1;
	private JButton jButton1;
	private JTextField editora;
	private JLabel lblEditora;
	private JTextField status;
	private JLabel lblStatus;
	private JLabel lblBiblTit;
	private Connection connection; 

	/**
	* Auto-generated main method to display this 
	* JPanel inside a new JFrame.
	*/
	
	
	
	public Biblioteca() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			AnchorLayout thisLayout = new AnchorLayout();
			this.setLayout(thisLayout);
			this.setPreferredSize(new java.awt.Dimension(450, 391));
			{
				tipoMaterial = new JTextField();
				this.add(tipoMaterial, new AnchorConstraint(
					369,
					963,
					413,
					258,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				tipoMaterial.setPreferredSize(new java.awt.Dimension(317, 17));
			}
			{
				jTextArea1 = new JTextArea();
				this.add(jTextArea1, new AnchorConstraint(
					776,
					836,
					950,
					365,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				jTextArea1.setPreferredSize(new java.awt.Dimension(212, 68));
			}
			{
				jButton1 = new JButton();
				this.add(jButton1, new AnchorConstraint(
					789,
					276,
					865,
					32,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				jButton1.setText("enviar dados");
				jButton1.setPreferredSize(new java.awt.Dimension(110, 30));
				jButton1.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println("jButton1.actionPerformed, event="
							+ evt);
						//TODO add your code for jButton1.actionPerformed
						
						
						String t=nomedaobra.getText();
						String x=tipoMaterial.getText();
						String y=status.getText();
						String z=editora.getText();
						String a=localdeArmazenamento.getText();
						String b=autor.getText();
						try {
							jTextArea1.append(InsereBD(t,x,y,z,a,b));
						} catch (SQLException e1) {
							// TODO Auto-generated catch block
							e1.printStackTrace();
							
						} catch (IOException e1) {
							// TODO Auto-generated catch block
							e1.printStackTrace();
						}
					}
				});
			}
			
			{
				autor = new JTextField();
				this.add(autor, new AnchorConstraint(
					684,
					963,
					727,
					258,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				autor.setPreferredSize(new java.awt.Dimension(317, 17));
			}
			{
				nomedaobra = new JTextField();
				this.add(nomedaobra, new AnchorConstraint(
					297,
					963,
					338,
					258,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				nomedaobra.setPreferredSize(new java.awt.Dimension(317, 16));
			}
			{
				lblAutor = new JLabel();
				this.add(lblAutor, new AnchorConstraint(
					671,
					125,
					755,
					25,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblAutor.setText("Autor:");
				lblAutor.setPreferredSize(new java.awt.Dimension(45, 33));
			}
			{
				localdeArmazenamento = new JTextField();
				this.add(localdeArmazenamento, new AnchorConstraint(
					599,
					963,
					643,
					256,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				localdeArmazenamento.setPreferredSize(new java.awt.Dimension(318, 17));
				localdeArmazenamento.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						localdeArmazenamentoActionPerformed(evt);
					}
				});
			}
			{
				lblLocalDeaArmazenamento = new JLabel();
				this.add(lblLocalDeaArmazenamento, new AnchorConstraint(
					579,
					221,
					679,
					27,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblLocalDeaArmazenamento.setText("Local:");
				lblLocalDeaArmazenamento.setPreferredSize(new java.awt.Dimension(87, 39));
			}
			{
				editora = new JTextField();
				this.add(editora, new AnchorConstraint(
					520,
					961,
					563,
					256,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				editora.setPreferredSize(new java.awt.Dimension(317, 17));
			}
			{
				lblEditora = new JLabel();
				this.add(lblEditora, new AnchorConstraint(
					500,
					158,
					599,
					25,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblEditora.setText("Editora:");
				lblEditora.setPreferredSize(new java.awt.Dimension(60, 39));
			}
			{
				status = new JTextField();
				this.add(status, new AnchorConstraint(
					443,
					963,
					487,
					258,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				status.setPreferredSize(new java.awt.Dimension(317, 17));
			}
			{
				lblStatus = new JLabel();
				this.add(lblStatus, new AnchorConstraint(
					420,
					161,
					520,
					27,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblStatus.setText("Status:");
				lblStatus.setPreferredSize(new java.awt.Dimension(60, 39));
			}
			{
				lblTipoMat = new JLabel();
				this.add(lblTipoMat, new AnchorConstraint(
					351,
					214,
					451,
					25,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblTipoMat.setText("Tipo Material:");
				lblTipoMat.setPreferredSize(new java.awt.Dimension(85, 39));
			}
			{
				lblNomedaObra = new JLabel();
				AnchorLayout jLabel1Layout = new AnchorLayout();
				this.add(lblNomedaObra, new AnchorConstraint(
					280,
					238,
					356,
					25,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblNomedaObra.setText("Nome da Obra:");
				lblNomedaObra.setPreferredSize(new java.awt.Dimension(96, 30));
				lblNomedaObra.setLayout(null);
			}
			{
				lblBiblTit = new JLabel();
				this.add(lblBiblTit, new AnchorConstraint(
					47,
					754,
					147,
					416,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblBiblTit.setText("Criar Biblioteca");
				lblBiblTit.setPreferredSize(new java.awt.Dimension(152, 39));
				lblBiblTit.setFont(new java.awt.Font("Dialog",1,16));
			}
			{
				lblBiblLogo = new JLabel();
				AnchorLayout lblBiblLogoLayout = new AnchorLayout();
				lblBiblLogo.setLayout(null);
				this.add(lblBiblLogo, new AnchorConstraint(
					14,
					205,
					180,
					21,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
				lblBiblLogo.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagem/Logo GroupOffice.jpg")));
				lblBiblLogo.setPreferredSize(new java.awt.Dimension(83, 65));
				{
					jLabel1 = new JLabel();
					lblBiblLogo.add(jLabel1);
					jLabel1.setIcon(new ImageIcon(getClass().getClassLoader()
						.getResource("Imagens/Logo GroupOffice.jpg")));
					jLabel1.setPreferredSize(new java.awt.Dimension(78, 57));
					jLabel1.setBounds(0, 0, 83, 65);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * @param w
	 * @param x
	 * @param y
	 * @param z
	 * @param a
	 * @param b
	 * @return
	 */

	

	/**
	* Auto-generated method for setting the popup menu for a component
	*/
	private void setComponentPopupMenu(final java.awt.Component parent, final javax.swing.JPopupMenu menu) {
parent.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent e) {
if(e.isPopupTrigger())
menu.show(parent, e.getX(), e.getY());
}
public void mouseReleased(java.awt.event.MouseEvent e) {
if(e.isPopupTrigger())
menu.show(parent, e.getX(), e.getY());
}
});
	}
	
	private void autorActionPerformed(ActionEvent evt) {
System.out.println("autor.actionPerformed, event="+evt);
//TODO add your code for autor.actionPerformed
	}
	
	private void localdeArmazenamentoActionPerformed(ActionEvent evt) {
System.out.println("localdeArmazenamento.actionPerformed, event="+evt);
//TODO add your code for localdeArmazenamento.actionPerformed
	}
	
	private void editoraActionPerformed(ActionEvent evt) {
System.out.println("editora.actionPerformed, event="+evt);
//TODO add your code for editora.actionPerformed
	}
	
	private void statusActionPerformed(ActionEvent evt) {
System.out.println("status.actionPerformed, event="+evt);
//TODO add your code for status.actionPerformed
	}
	
	private void tipoMaterialActionPerformed(ActionEvent evt) {
System.out.println("tipoMaterial.actionPerformed, event="+evt);
//TODO add your code for tipoMaterial.actionPerformed
	}
	
	private void idObraActionPerformed(ActionEvent evt) {
System.out.println("idObra.actionPerformed, event="+evt);
//TODO add your code for idObra.actionPerformed
	}
	
	String InsereBD(String t, String x, String y, String z,String a,String b)throws SQLException, IOException{	
		
		String resp="";
		
		String idobra,nome,tipomaterial,status,editora,localdearmazenamento,autor;

	    resp+="Carregando o driver JDBC ...";
	    
	    String host = "192.168.2.4"; 
	    String porta = "5432"; 
	    String base = "biblioteca";
	    String dbURL = "jdbc:postgresql://" + host + ":" + porta + "/" + base;
	    String usuario = "AdminBi";
	    String senha = "dbbi";
	    try
	    {
	    	Class.forName("org.postgresql.Driver"); 
	    	connection = DriverManager.getConnection(dbURL, usuario, senha); 
	    }
	    catch(ClassNotFoundException Erro)
	    {
	    	resp+="\nNão e possivel carregar o driver...";
	        Erro.printStackTrace();
	        return resp;
	    }

	    resp+="\nConectando-se à Base de Dados";

	    Statement FluxoSQL = connection.createStatement();{
	    
	    
	    
	    nome=t;
	    tipomaterial = x;
	    status = y; // Modificar para float
	    editora = z;
	    localdearmazenamento=a;
		autor=b;
		

	    String InstrucaoSQL  = "INSERT INTO obra VALUES ('"+nome+"','"+tipomaterial+ "','" +status+ "','" +editora+ 
	    "','"+localdearmazenamento+"','"+autor+"')"; 
	    

	    FluxoSQL.executeUpdate(InstrucaoSQL);{
	    resp+="\nInstrução SQL executada com sucesso...\n\n";
	    FluxoSQL.close();
	    connection.close();
	    return resp;}}
	}

	

	

	

	}
M

E ai Chale, vai despresar so porque tem alguns quadrinhos + que eu!!! rs…rs…rs… Zuera chego la tmb to correndo… valew pela força que tem dado!!! Mas ai então meu codigo ta com esse Statement veja:

Valew!!!

import java.sql.*;

//import javax.swing.*;
//import java.awt.*;
//import java.awt.event.*;
//import javax.swing.JOptionPane;
//import java.awt.event.*;

public class BancoTeste { 
	
	String result;
	

  public void query(String sql) {
      //System.out.println("Testando acesso a banco de dado MySQL\n\n");
      Connection conn = null;
      String teste = "SELECT Titulo as nome FROM ProdutoLivro where titulo like '%"+sql+"%'";
      String nome_sql;
      String sobrenome_sql;
      
      
      //nome_sql = JOptionPane.showInputDialog("Digite o seu nome:");
      //sobrenome_sql = JOptionPane.showInputDialog("Digite o seu sobrenome:");
      
      
      String insert = "CREATE TABLE ProdutoLivro (IdProdutoLivro INTEGER PRIMARY KEY,  Titulo VARCHAR, Sinopse VARCHAR, Autor INTEGER, Barras INTEGER, ISBN VARCHAR, Categoria INTEGER, Edicao INTEGER, Formato VARCHAR);";
      //String insert2 = "INSERT INTO ProdutoLivro (IdProdutoLivro,Titulo)VALUES(45648,'LeandroManiezo');";

      try {
          Class.forName("org.hsqldb.jdbcDriver");
          conn = DriverManager.getConnection("jdbc:hsqldb:file:bd/lee", "sa", "");
          //System.out.println("A conexão foi um sucesso\n");  
          Statement stm = conn.createStatement();{
          //stm.executeUpdate(insert);
          //stm.executeUpdate(insert2);
          }
          ResultSet rs = stm.executeQuery(teste);
          
          while (rs.next()) {
              
          	  String nome = rs.getString("nome");
              //String codigo = rs.getString("codigo");
              //String sobrenome = rs.getString("sobrenome");
              //System.out.println("Codigo: " + codigo + "\nNome: " +nome+ "  Sobrenome: " + sobrenome);
              System.out.println("\nNome: " +nome);
              System.out.println("---------------------------------------");
              result = result+"\n\r\nNome: "+nome;
              
          }
          //System.out.println("\n\nConsulta realizada com sucesso!!!\n"); 
          
          
      } catch(ClassNotFoundException e) {
          //System.out.println("excessão Classe não encontrada");
          e.printStackTrace();
      } catch(SQLException e) {
          //System.out.println("SQL Exception... Erro na consulta:");
          e.printStackTrace();
      } finally {
          try {
              conn.close();
              //System.out.println("\n\nFechamendo a conexão");
          } catch(SQLException erro) {
              //System.out.println("Erro no fechamento");
              erro.printStackTrace();
          }
      }
  }
}
C

Estranho.
Não dá nenhum erro de execução e mesmo assim não insere ?

M

Então estranho ele insere sim mas tipo so vejo isso colocando um inser e um select depois no mesmo codigo assim ele acha o registro mas se for executar denovo a classe aquele registro se foi!!! So fica os registro que inseri pelo mananger do HSQLDB esses sim fica la!! Estranho mesmo bom vou tentando… Valew!!!

R

“Chale”:
PS:Você reparou que eu tenho mais quadradinhos azuis do que você?
Na parte superior do seu Avatar.

Eu não vi isso !!! :yahm:

M

“rcmsj”:
“Chale”:
PS:Você reparou que eu tenho mais quadradinhos azuis do que você?
Na parte superior do seu Avatar.

Eu não vi isso !!! :yahm:

Os “quadradinhos azuis” só representam a quantidade de posts do usuário, nada além disto. Se não me engano com 2000 ou 3000 posts todos ficam preenchidos com o azul escuro. Não lembro agora de cór…

ps: fui eu quem fez eles heahea :ynerd:

R

“matheus”:
“rcmsj”:
“Chale”:
PS:Você reparou que eu tenho mais quadradinhos azuis do que você?
Na parte superior do seu Avatar.

Eu não vi isso !!! :yahm:

Os “quadradinhos azuis” só representam a quantidade de posts do usuário, nada além disto. Se não me engano com 2000 ou 3000 posts todos ficam preenchidos com o azul escuro. Não lembro agora de cór…

ps: fui eu quem fez eles heahea :ynerd:

Ah! sim … isso eu vi !
… mas eu fiz este comentário pelo Ps. que o Chale postou … impressão minha ou ele tava se gabando :?: :?: :?:

D

tomem eu como exemplo não sei quase nada e tenho quase 200 já…rs… :lol:

C

Tava de sacanagem…

Criado 14 de julho de 2005
Ultima resposta 18 de jul. de 2005
Respostas 12
Participantes 5