package persistencia;
import classes.pessoas;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class IncluirEditarDAO {
pessoas objpes = new pessoas();
public int Incluir(pessoas objpes) throws SQLException {
Persistencia.conexao conexao = new Persistencia.conexao();
int registos;
try (PreparedStatement pstmt = conexao.getConexao().prepareStatement
("INSERT INTO pessoas (pes_nome, pes_status)"
+ "VALUE (?,?)")) {
pstmt.setString(1,objpes.getPes_nome().toUpperCase().trim());
pstmt.setInt(2,objpes.getPes_status());
registos = pstmt.executeUpdate();
}
PreparedStatement pstmtAux = conexao.getConexao().prepareStatement("SELECT @@IDENTITY");
ResultSet rs = pstmtAux.executeQuery();
int codigo = 0;
if((registos == 1) && (rs != null)) {
rs.next();
codigo = rs.getInt(1);
return codigo;
}
else {
return codigo;
}
}
}
package Persistencia;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;
public class conexao {
//variáveis de classe
public static String base="estudo";
private static Connection conexao;
public conexao(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:myodbc;database="+base+";user=;password=";
conexao = DriverManager.getConnection(url);
System.out.println("conexao ok");
}
catch(Exception erro){
JOptionPane.showMessageDialog(null,
"Ocorreu um erro de conexão. Verifique a Base de Dados indicada !"
+"\n" + erro.getMessage(),"Conexão",3);
erro.printStackTrace();
}
}
// Mtodos pblicos:
public Connection getConexao()
{
return conexao;
}
}
Olá pessoal! Tenho uma classe chamada "pessoas.java" apenas com três campos: pes_codigo, pes_nome, pes_status. Tenho uma tela base e uma internal frame. Tenho esta base de dados criada no SQL Express 2014. Quando tento inserir dados que neste caso é apenas o campo do nome e tento salvar dá-me o erro: "Operação não realizada! [Microsoft][ODBC SQL Server Driver]
Incorrect syntax near 'VALUE'"
Alguém me pode ajudar? Estou a utilizar as classes IncluirEditarDAO, e conexao, acima postadas...
↧