Olá a todos
Estou com uma dúvida.
Estou criando um sistema para cadastro de uma loja de eletrodomésticos, no qual eu criei uma função no próprio SGBD para fazer a inserção dos dados.
A função que eu tenho é esta:
CREATE OR REPLACE FUNCTION insereloja(cnpj bigint, nome character varying, rua character varying, cidade character varying, estado character varying, numero integer, telefone integer)
RETURNS void AS
$BODY$
BEGIN
INSERT INTO Loja VALUES (cnpj, nome, rua, cidade, estado, numero, telefone);
END
$BODY$
LANGUAGE plpgsql
Porém, estou trabalhando com o java, juntamente com SGBD. Fiz a conexão certinho, e aparentemente tudo certo.
O problema está acontecendo quando eu passo os parâmetros pra função neste código:
[code] public void insereLojanoBD(long cnpj, String nome,String rua, String cidade, String estado, int numero, int telefone){
try{
Connection con;
con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/udesc", "robson", "");
Statement stm = con.createStatement();
stm.executeQuery("SELECT insereloja(cnpj,nome,rua,cidade,estado,numero,telefone)");
System.out.println("Loja inserida com sucesso");
}catch(Exception e){
e.printStackTrace();
}
[/code]
Aparece um erro falando que o cnpj não existe e vai pro catch.
Obs.: Se eu tentar colocar os valores manualmente, a função insere normalmente.
Obrigado galera!