esto com o seguinte problema aqui na minha aplicaçao e assim criei uns jTextField para as pessoas colocar a quantidade de cada coisa
no banco de dados os campos da tabela ta como int e na hora que ocorre o evento eu ja converti as entrada de string para int mas so que quando nao coloco nada o campo deixo ele nulo tipo sem nada ele nao grava no banco da errro de
java.lang.NumberFormatException: For input string: “”
alguem pode me dar uma luz sobre issso aqui apenas um modo como eu possa fazer
fiz ate um metodo desse mas acho que nao deu muito certo
public void verItens(JTextField c){
int a = 0;
if (c.getText() == null){
a = Integer.parseInt(c.getText());
}
}
a conversao foi feita desse modo de tira de string para int
nao esta indo amigo tipo gostaria de fazer de ele ver se o campo esta null coloca a zero.
tipo o usuario nao pode colocar nada no campo mas ele passa para o banco como que aquele campo o valor dele iria ser 0 mas nao esto conseguindo fazer por isso queria uma dica como a que voçe me deu mas nao foi
Olá Erato.
Se não se importasse gostaria de pedir que escreva com um português mais claro, você não coloca vírgula nem ponto final nas frases, acho q por isso ficou difícil de entender sua dúvida. Mas vamos lá
Deixa ver se eu entendi:
Você quer que quando o camarada não digita nada no campo, e quando ocorrer o evento, ou seja, quando clicar em um botão por exemplo, o valor no banco entre como ZERO(0) certo?
Então você pode fazer assim:
[code] public void verItens(JTextField c){
int a;
if (c.getText().equals("")){
a = 0;
}else{
a = Integer.parseInt(c.getText().trim());
}
}
[/code]
Espero que não se importe com a dica que eu te dei, será bem mais claro para todos entenderem se você botar pontuação nas suas frases :lol:
Vê se dá certo, e edite seu tópico como [RESOLVIDO], ou poste qualquer dúvida. Tamos aí pra ajudar!
EDIT: Lembrando que o JTextField não é interpretado como NULL, caso não se digite nada nele, e sim como “”, ou seja, como uma String vazia
a.moraissoares valeu pela a dica as vezes eu escrevo tudo confuso !!!
haahahahahaha
mas ainda nao ta indo esta , esto com o mesmo problema de :
Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “”
esta indo assim meu codigo
obs: esse e meu evento para salva no banco esta assim:
verItens(cesta);
int ces = Integer.parseInt(cesta.getText());
int ar = Integer.parseInt(arroz.getText());
int fe = Integer.parseInt(feijao.getText());
int ac = Integer.parseInt(acucar.getText());
int sa = Integer.parseInt(sal.getText());
int ma = Integer.parseInt(macarrao.getText());
int le = Integer.parseInt(leite.getText());
int fa = Integer.parseInt(farinha.getText());
int ol = Integer.parseInt(oleo.getText());
int ca = Integer.parseInt(cafe.getText());
CadCestaDB cs = new CadCestaDB();
cs.inserir(ces, ar, fe, ac, sa, ma, le, fa, ol, ca);
usei o metodo ver itens como voçe me falo , so mais uma coisa essse metodo inserir so aceita int
Opa!!! Hehehe. Efeito bate-papo na net faz isso com todo mundo! hehehe
Bom, parece que ele está tentando converter uma String "", ou " " para INT.
É importante SEMPRE, você dar um .trim() sempre que você pegar um campo de um JTextField, pois o usuário pode apertar espaço antes ou depois de digitar.
O .trim() vai retirar espaços brancos antes e depois do final da String digitada. Então quando você for pegar dados dos campos, não se esqueça do .trim(). Talvez seja isso
Confesso que está bem estranho isso pra mim. Você tem que verificar se tem algo digitado no campo em todos os casos. Veja só:
[code]verItens(cesta);
int ces = 0;
int ar = 0;
int fe = 0;
int ac = 0;
int sa = 0;
int ma = 0;
int le = 0;
int fa = 0;
int ol = 0;
int ca = 0;
if (!cesta.getText().trim().equals("")){
ces = Integer.parseInt(cesta.getText().trim());
}
if (!ar.getText().trim().equals("")){
ar = Integer.parseInt(arroz.getText().trim());
}
if (!fe.getText().trim().equals("")){
feijao = Integer.parseInt(feijao.getText().trim());
}
[/code]
e assim por diante até verificar todos.
depois
CadCestaDB cs = new CadCestaDB();
cs.inserir(ces, ar, fe, ac, sa, ma, le, fa, ol, ca);
Dessa forma, todos os valores começam valendo 0, e caso em algum campo, o usuário tenha digitado algo, ele atribui pegando do campo, dando trim, e convertendo pra inteiro. TEM QUE DAR CERTO! hehehe