Insert valor Vazio

5 respostas
beginJava

Boa Tarde, Galera!

Sou iniciante em java… e estava aprendendo algumas coisas como fazer insert e select pelo java com SQL Server, e tenho uma dúvida no insert.

Assim tem algum jeito de fazer um insert enviando um valor NULL.

Por exemplo:
INSERT INTO CADASTRO (NOME,DATANASCIMENTO) VALUES (‘TESTE’);

A dúvida é: tem um jeito de colocar a coluna DATANASCIMENTO e nao colocar valor nem no VALUES? e ele gravar como NULL?

desde já agradeço.

Obrigado

5 Respostas

pmlm

Podes fazer assimINSERT INTO CADASTRO (NOME) VALUES ('TESTE'); ou assim INSERT INTO CADASTRO (NOME,DATANASCIMENTO) VALUES ('TESTE', null);

beginJava

Desculpa, acho q eu faltei de falar algumas coisas sobre minha dúvida.
Eu estou tentando fazer um insert pelo Java, esse é o código do método de gravar.

private void bt_gravarActionPerformed(ActionEvent evt) {
 
               try{
     
                   String query = "insert into CADFUN(" +
                           "NOME," +
                           "DATANASCIMENTO" +
                           "IDADE," +
                           "RG," +
                           "DATAEXPEDICAO," +
                           "ORGAOEMISSOR," +
                           "CPF," +
                           "TITULOELEITOR," +
                           "NACIONALIDADE," +
                           "NOMEPAI," +
                           "NOMEMAE," +
                           "FILHOOPCAO," +
                           "FILHOQUANTOS," +
                           "ENDERECO," +
                           "NUMERO," +
                           "COMPLEMENTO," +
                           "BAIRRO," +
                           "CIDADE," +
                           "CARGO," +
                           "REMUNERACAO," +
                           "CODFUNCIONAL," +
                           "CODINFRARED," +
                           "DATAINICIO," +
                           "DATASAIDA," +
                           "OBS) values ('"+NOME.getText()+"',"+DATANASCIMENTO.getText()+","+IDADE.getText()+",'"+RG.getText()+"',"+DATAEXPEDICAO.getName()+",'"+ORGAOEMISSOR.getText()+"','"+
                           CPF.getText()+"',"+TITULOELEITOR.getText()+",'"+NACIONALIDADE.getText()+"','"+NOMEPAI.getText()+"','"+NOMEMAE.getText()+"',"+FILHOQUANTOS.getText()+",'"+ENDERECO.getText()+"',"+
                           NUMERO.getText()+",'"+COMPLEMENTO.getText()+"','"+BAIRRO.getText()+"','"+CIDADE.getText()+"','"+CARGO.getText()+"',"+REMUNERACAO.getText()+","+CODFUNCIONAL.getText()+","+
                           CODINFRARED.getText()+","+DATAINICIO.getText()+","+DATASAIDA.getText()+",'"+OBS.getText()+"');";

                   con.rs.first();
                   con.stm.executeUpdate(query);
                   JOptionPane.showMessageDialog(null,"gravado");

                   con.rs = con.stm.executeQuery("select * from CADFUN");
                 
                   

                   

                   
               }
               catch(SQLException e){
                   JOptionPane.showMessageDialog(null,"Erro Gravar "+e.getMessage());
               }
            }

Quando eu aciono o botão gravar, e tem alguns campo em branco, ele diz que existe mais colunas no insert do que no values, e não grava.
tem algum outro jeito de fazer esse insert?
Obrigado

luxu

tire o campo do VALUES e rode pra v se eh o q vc ker…

beginJava

Bom dia,

Eu fiz o teste mas ocorrre erro: " Line 1: Incorrect syntax near ‘)’."

Eu Andei pensando e acredito que não tenha essa possibilidade, porque por exemplo caso eu faça um insert assim:

INSERT INTO CADASTRO (NOME, ENDERECO, TELEFONE) VALUES (‘TESTE’,9999999)

Isso significa que eu estou dizendo para o Insert que o 9999999 é o Endereço, não estou certo? me corrijam se estiver errado.

Eu Preciso encontrar um jeito de fazer um insert pelo java que ele entenda que aquele campo no aplicativo esta em branco, e não inclua na query INSERT, acho que seria isso a solução.

Alguém tem alguma idéia?? :smiley:

Obrigado

Kanin_Dragon

Seu insert está errado, tem mais parametros que o value.
INSERT INTO CADASTRO (NOME, ENDERECO, TELEFONE) VALUES (‘TESTE’,9999999)

Se seu banco aceita nulo e so setar null.
INSERT INTO CADASTRO (NOME, ENDERECO, TELEFONE) VALUES (‘TESTE’, ‘Seu Endereco’, null) ;

Criado 12 de fevereiro de 2011
Ultima resposta 15 de fev. de 2011
Respostas 5
Participantes 4