| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 09:17:38
|
kerbage
JavaBaby
Membro desde: 11/01/2009 20:41:51
Mensagens: 75
Offline
|
bom dia! estou terminando o sistema desktop de controle de material, o cliente pediu para adicionar alem do tombo, cologar o numero_serial do aparelho! só que em alguns aparelhos velhos não foi cologado o tombamento, sendo assim ele vai gravar o tombamento ou numero_serial como valor null, o problema e que ele não aceita no meu programa gravar mais registros nullos, pois sempre que faço um rs.first no banco ele acha esse registro. Tem como adicionar mais registros nullos sem ele reclame!?
aqui esta meu codigo:
obrigado pela atenção...
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 09:48:38
|
drsmachado
GUJ Expert
Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline
|
Teu problema está no banco.
Ou você altera a propriedade da coluna que contém os dados do tombo ou tomba todos os equipamentos que não possuem tal informação (o que, a critério de controle, seria o ideal).
Colocar o tombo como null poderia causar vulnerabilidade no sistema, afinal, se alguém omite o tombo, isso será válido para o bd...
|
Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".
Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 10:20:12
|
kerbage
JavaBaby
Membro desde: 11/01/2009 20:41:51
Mensagens: 75
Offline
|
eu concordo com vc! as columas tombo e numero_serial estão em not_null desabilitado, mesmo assim ele esta acusando que existe um registro nullo quando faço o resultset. será que estou passando os valores como vazio?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 10:21:48
|
drsmachado
GUJ Expert
Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline
|
As colunas aceitam nulo, certo?
Ocorre algum erro ao realizar a consulta ao banco?
Se sim, posta ai.
|
Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".
Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 12:34:11
|
kerbage
JavaBaby
Membro desde: 11/01/2009 20:41:51
Mensagens: 75
Offline
|
ele nao da erro no banco!
quando vou cadastrar com um campo vazio tombo ou numero_ serial ele avisa que tombo ou serial já existem, no caso o null!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 12:41:47
|
drsmachado
GUJ Expert
Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline
|
O select que você faz retorna resultados pois vão existir informações onde o valor do tombo e do numero_serial são nulos. É como uma pesquisa "SELECT * FROM ALGUM_LUGAR WHERE 1 = 1", é certeza de retorno.
Se você não pretende corrigir a inconsistência do banco (serial ou tombo deveriam ser PK), então faça a validação no código, coloque algo do tipo
[code
if(valorRetornoTombo != null && !valorRetornoTombo.equals("")){
[/code]
|
Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".
Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2011 15:16:20
|
drigo.angelo
Virtual Machine Man
![[Avatar]](/images/avatar/15760e7b4618c67f5eb38e6e089b8b38.png)
Membro desde: 19/11/2009 12:17:08
Mensagens: 744
Localização: Uberlândia - MG
Offline
|
Tem a função Coalesce ou Isnull (depende do sgbd) no sql, que pode ser utilizado para o banco não retornar valores null
|
@drigoangelo
IE6 no more
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 09:06:42
|
kerbage
JavaBaby
Membro desde: 11/01/2009 20:41:51
Mensagens: 75
Offline
|
o problema esta no meu codigo, pois quando faço insert diretamente no banco com os valores dos campos em branco ele salva o registro sem problema
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 09:08:52
|
drsmachado
GUJ Expert
Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline
|
Posta o código que faz a consulta.
|
Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".
Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 09:40:58
|
gleidsonrms
What is classpath?
Membro desde: 08/09/2006 14:39:58
Mensagens: 6
Localização: Campo Grande MS
Offline
|
Na linha 68 do seu código faça a seguinte alteração:
Já tive um problema parecido usando Postgre, isso resolveu.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 11:07:17
|
kerbage
JavaBaby
Membro desde: 11/01/2009 20:41:51
Mensagens: 75
Offline
|
o meu sgbd que estou usando tb e o postgre.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 12:52:46
|
xxjamisxx
JavaTeenager
![[Avatar]](/images/avatar/ea7436bc091539714e3f2f5d209aca12.png)
Membro desde: 19/09/2008 22:15:13
Mensagens: 161
Offline
|
aspas "" assim nao resoveria seu ploblema
pq assim ele nao reclamaria de valor nullo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 13:02:07
|
drsmachado
GUJ Expert
Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline
|
Posta o código do insert e do select.
|
Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".
Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/02/2011 13:30:18
|
luBS
JavaBaby
Membro desde: 10/05/2006 14:00:27
Mensagens: 86
Localização: São Paulo
Offline
|
É tudo uma questão de vc saber o que e quais sql's estão executando
Primeiro, antes de você fazer uma alteração, leia sobre isso:
http://en.wikipedia.org/wiki/SQL_injection
Seu sistema esta cheio, tudo errado.
Agora verifique esse código:
Perceba que ira imprimir: aaaa 'null', logo seu código:
Caso tf_tombo.getText() esteja retornando nulo, ele está criando o SQL: Select * From cad_estoque Where Tombo = 'null', ou seja, procurando por um tombo com a string "null" e não necessariamente com valor nulo.
Isso vai acontecer também lá no seu insert, você não esta inserindo nulo no valor de tombo e sim a string "null", como o campo deve ser unicle, só pode haver um registro com tombo "null", por isso no próximo da erro.
Reveja todo seu código, se você entender o primeiro código do meu post (do aaaa somando com null) vai entender fácil que problema esta ocorrendo no seu sistema.
Meu conselho, leia sobre sql inject, elimine eles usando PreparedStatement, tanto no insert quanto nos select's, valide que no seu banco esta incluindo nulo mesmo, que então todos seus problemas se resolvem.... tá fácil, basta vc entender qual está sendo o problema
|
http://luizroos.blogspot.com/ |
|
|
 |
|
|