Banco de Dados

5 respostas
P

Aew Irmãos, tô com um probleminha aki que tá dificil de resolver, sou iniciante, criei uma rotina (não sei se é esse o nome) para incluir dados em um banco de dados do acess (*.mdb), configurei no OBDC certinho, ele funciona a primeira vez depois para como eu fiz uma mesnagem de erro, fica dando essa mesnsagem sempre que executo!!! Alguém pode me ajudar? aí está o código

import java.sql.*;
import javax.swing.JOptionPane;

class Incluir {

public static void main (String args[]) {

try {

String fonte=jdbc:odbc:ag;

String user=admin;

String pass=admin;

Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);

Connection conecta;

conecta = DriverManager.getConnection(fonte,user,pass);

Statement cmd=conecta.createStatement();

cmd.executeUpdate(INSERT INTO pessoafisica (Nome, Email, Fone) VALUES (Pedro,[email removido],32894009));

JOptionPane.showMessageDialog (null, Conexão realizada com sucesso !!!,Conexão com Banco de Dados,JOptionPane.PLAIN_MESSAGE);

System.exit(0);

cmd.close();

conecta.close();

}

catch(Exception e)

{

JOptionPane.showMessageDialog (null, Falha na Conexão,Conexão com Banco de Dados,JOptionPane.ERROR_MESSAGE);

System.exit(0);

}

}

}

5 Respostas

R

Ola, talvez nesta linha “cmd.executeUpdate” esteja o erro… tente usar o método executeQuery pra testar… se possível poste o erro pro pessoal ajudar.

dudaskank

o executeUpdate está certo ali…

bem, veja o que a mensagem de erro diz. provavelmente é porque vc está inserindo um registro com a mesma chave primária.

flw

cgalvao

E ai galera ajuda ai acho que ta facil pois estou conseguindo conectar mais nao consigo inserir os dados… na tabela do oracle…

import java.io.;
import java.sql.
;

import javax.swing.JOptionPane;

public class Inclusao {

public static void main(String[] args) throws IOException, ClassNotFoundException, SQLException {		
	
		// metodo de abertura do arquivo txt
		BufferedReader in = new BufferedReader(new FileReader("c:/dados.txt"));
		String[] dados = new String[190];
		String str;
		while ((str = in.readLine()) != null) {
		//	System.out.println(str);
			dados[0] = str.substring(0,2);
			dados[1] = str.substring(2,5);
			dados[2] = str.substring(5,9);
			dados[3] = str.substring(9,125);
			dados[4] = str.substring(125,129);
			dados[5] = str.substring(129,160);
			dados[6] = str.substring(160,174);
			dados[7] = str.substring(174,182);
			dados[8] = str.substring(182,186);
			dados[9] = str.substring(186,190);
	
			//	Se conecta no banco	
			// Carrega JDBC driver
	        String driverName = "oracle.jdbc.driver.OracleDriver";
	        Class.forName(driverName);
	        String ip = "192.168.1.0";
	        String sid = "teste";
	        String portNumber = "1521";
	        String url = "jdbc:oracle:thin:@" + ip + ":" + portNumber + ":" + sid;
	        String username = "teste";
	        String password = "teste";
	        Connection conn = DriverManager.getConnection(url, username, password);
			
	        try {		        	
	        			
	        	PreparedStatement pstmt= conn.prepareStatement ( "INSERT INTO TABELA(tabela1,tabela2,tabela3,tabela4,tabela5,tabela6,tabela7,tabela8,tabela9,tabela10)VALUES(?,?,?,?,?,?,?,?,?,?);");
	   //	    PreparedStatement pstmt = conn.prepareStatement(sql);
	   		
	   		pstmt.setString(1,dados[0]);
	   		pstmt.setString(2,dados[1]);
	   		pstmt.setString(3,dados[2]);
	   		pstmt.setString(4,dados[3]);
	   		pstmt.setString(5,dados[4]);
	   		pstmt.setString(6,dados[5]);
	   		pstmt.setString(7,dados[6]);
	   		pstmt.setString(8,dados[7]);
	   		pstmt.setString(9,dados[8]);
	   		pstmt.setString(10,dados[9]);
	   		
	   		JOptionPane.showMessageDialog (null, "Conexão realizada com sucesso !!!","Conexão com Banco de Dados",JOptionPane.PLAIN_MESSAGE); 

	        pstmt.executeUpdate();

	        pstmt.close();
	        
	        } catch (Exception ex) 
	        {
	    //    	System.err.println("Erro: " + ex.getMessage());
	        } 

	        System.out.println(dados[0]+
					"/"+dados[1]+
					"/"+dados[2]+
					"/"+dados[3]+
					"/"+dados[4]+
					"/"+dados[5]+
					"/"+dados[6]+
					"/"+dados[7]+
					"/"+dados[8]+
					"/"+dados[9]);
	       
		}// while
	} //main	
}// class Inclusao
T

Não é que você não consiga inserir os dados. É que você não deve ter efetuado o “commit”. Experimente fazer o mesmo no SQL*Plus e você vai ver que as alterações não são efetuadas se você não fizer o “commit”.

cgalvao

Caro amigo estou colocando o commit abaixo pstmt.executeUpdate(); nao sei se e assim mais se vc souber como coloco agradeço…

Ex:

pstmt.executeUpdate;

conn.commit();

conn.setAutoCommit(true);
Criado 24 de julho de 2006
Ultima resposta 18 de ago. de 2006
Respostas 5
Participantes 5