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...