BD! novamente....[RESOLVIDO]

e la vamos nois… mais uma vez to com problema om a conexão com o bco de dados.

a conexão ta assim…

[code]import java.sql.Connection;
import java.sql.DriverManager;

public class Bd
{
public static Connection getConnection() {
String driver =“com.mysql.jdbc.Driver”;
String database =“funcionarios”;
String url = “jdbc:mysql://localhost/”+ database; //local host é nome do servidor
String user =“root”;
String password =“mysql”;
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(url,user,password);

        System.out.println(con);
        return con;
    }catch (Exception ex) {
        ex.printStackTrace();
    
    }
    return null;

}

}[/code]

o codigo de inserção de dados ta assim…

import java.util.Scanner;
import java.sql.*;
import javax.swing.*;

public class BdScannerFunc 
{
    public static void main (String args[])
    {
        
        Scanner item = new Scanner(System.in);
        int    info1  = item.nextInt();
        String info2 = item.next();
        double info3 = item.nextDouble();
        
        Connection con = Bd.getConnection();
        
        try
        {
            PreparedStatement stmt = con.prepareStatement("insert into (codigo, nome,salario) values (?,?,?)");
            stmt.setInt    (1,info1);           
            stmt.setString (2,info2);
            stmt.setDouble (3,info3);
           
        }
        catch (Exception e) {
	        System.out.println("erro!");
        }
    }
}
    

detalhe… num da erro nenhum… da como se tivesse inserido com sucesso mas num aparece nada na tabela…

alguem pode ajudar?

quando se usa PreparedStatement, para executar a query, é necessário chamar o método execute() :slight_smile: ;
agora deve funcionar

Uma sugestão largar esse JDBC ,pra mim esse pacote
sql do java e passado ,tenta o hibernte ,toplink.
È bem mais facil

tenta colocar:
stmt.executeUpdate();
e logo em seguinda o
stmt.close();
para fechar sua PreparedStatement!
:slight_smile:

todas as sugestoes fncionaram… ref ao hibertnate nem sei usar ainda… rs… enfim! agora ele ta pegando a exception! compilo executo… tudo ok… mas assim que eu dou o ultimo enter ele dvolve o erro que eu especifiquei no catch… ahu que n setei o drive direito (de novo…) alguem pode me dar um a explicação sobre isso.?? to com tres apos tilas que quando falam de driver de banc de dados são extremamente vagas…!

to usando o netbeans 5.5

vlw!

Uma sugestão vc tem que saber que erro está ocorrendo manda ele escrever o erro .
System.out.println(e.getMessage());
E posta o erro para que a gente possa ajudar.

entaum… boa ideia! o erro foi

init: deps-jar: Compiling 1 source file to C:\Arquivos de programas\netbeans-5.5\JavaApplication5\build\classes compile-single: run-single: 123 Ricardo 123 com.mysql.jdbc.Connection@d251a3 Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(codigo, nome,salario) values (123,'Ricardo',123.0)' at line 1"

mas n parece haver erro de sintaxe…

Pessoal, ja achei o erro… na linha 19 faltou a indicação do nome da tabela, que é funcionarios!

OBRIGADO A TODOS!

ABRAÇO!