Array
(
)

ORA-00984: coluna não permitida aqui

Thiago Silva
   - 23 ago 2015

Estou tentando mandar pro meu banco de dados, algo que recebo do teclado, e está dando esse erro ao compilar, alguem consegue me ajudar?
#Código
package RH;
import java.sql.*;
import javax.swing.*;
public class Funcionarios {
static double salario;
public static void cadastrarFuncionarios(String nome) throws SQLException {
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String sql = "insert into funcionarios values (" + nome + "," + salario + ")";
try (Connection con = DriverManager.getConnection(url, "thiago", "123");
PreparedStatement stm = con.prepareStatement(sql)) {
stm.executeUpdate();
}
}
public static String recebeNome() {
return JOptionPane.showInputDialog("Digite o nome do funcionário");
}
public static void main(String[] args) throws SQLException {
cadastrarFuncionarios(recebeNome());
}
}

Aldair Natan
   - 24 ago 2015

Amigo, Acredito que sua query esteja errada, se for um campo Varchar, (texto) a concatenação fica dessa forma:
#Código
String sql = "insert into funcionarios values ('" + nome + "'," + salario + ")";


com aspas simples, Quanto o salario não sei qual o tipo vocês está usando no Banco, se for float ou double, esta certo...