Estou a fazer o meu tcc, sobre cantina e um dos meus problemas é sobre marcar vamos ao exemplo para entenderem.
Ex: Joãozinho foi la e comprou um produto na cantina ai, ai ele tem conta ai ele tem que marcar tipo
Ex: Produto 1 - 10 Reais
Ai ele marca na conta do Joãozinho .
Na hora que ele pesquisar vai preencher todos os campos ai ele coloca somente o valor
e Clique em marcar onde vai colocar no banco de dados somente o valor e quanto mas ele for marcando vai somando oque ja esta no banco de dados com o que ele vai colocar
E?
Veio apenas anunciar seu tcc ou existe alguma dúvida nisso?
P
phaveraldo
A Duvida é que não consigo fazer
Clique em marcar onde vai colocar no banco de dados somente o valor e quanto mas ele for marcando vai somando oque ja esta no banco de dados com o que ele vai colocar
R
Rodrigo_Void
Todo resultado de um programa é oriundo de um algoritmo, sem ver seu código, como quer que lhe ajudemos?
Nem todo mundo tem bola de cristal.
Só um vídeo? n quer quase nada. É um problema específico doq vc criou, como quer um vídeo q resolva isso? precisará detalhar tecnicamente oq se passa.
Nem entendi seu problema, n sei qual foi o português que usou nesta frase mas n ajudou nada entendimento.
E acredito q outros tbm n entenderam pq n tem respostas.
A regra básica é mto simples: se dá erro, vc começa pelo stacktrace, classe, linha, exceção, ou posta ele. Não dando erro o problema é da sua lógica, logo, se sabe escrever um código java, DEBUGANDO poderás resolver.
D
diego12
Entendi que deseja inserir se não existir ou atualizar o registro, então o problema está no sql:
"UPDATE contas SET (nomealuno,nomepai,telefonepai,devendo) values (?,?,?,?)"
Se for isso, eu não sei resolver.
R
rodriguesabner
Acho que entendi. Você vai precisar fazer assim:
Vai adicionando todos os valores com o “Insert into blablabla”. Aí na hora de puxar, você vai usar um campo de pesquisa.
Vai fazer assim “SELECT SUM(1) as total
FROM suaTabela WHERE '”+campopesquisar.getText()+"’ "
No MySQL não se usa o ilike, e eu não lembro qual é a query, dá uma pesquisada por aí que vc encontra.
Nesse meu exemplo aí, o “Joãozinho” vai ter mil valores, mas no final vai puxar a soma toda de tudo conforme o nome dele.
É mais o menos isso. Só que oque eu quero fazer é assim.
Uma pessoa comprou 10 Reais e ela tem conta comigo. Vamos supor que ela já esteja devendo 200 Reais , esses 200 vai estar no banco de dados salvo , quando ela clicar no botão Marcar vai pegar o valor do jTextField somar com oque está no banco de dados e atualizar com valor que já estava então ficaria lá 210
R
rodriguesabner
Usa o update então
D
darlan_machado
Você tem duas maneiras de fazer: a boa e a péssima.
A péssima é do jeito que você pensou e quer fazer.
Porém, já considerou a hipótese do cliente cancelar algo? Ok, é apenas um DELETE que precisará ser rodado. Porém, não é uma solução inteligente.
A boa é manter os dados em memória mesmo (eu acredito que num mapa de lista, onde a chave é o nome/código do cliente e o valor é a lista de itens que ele pediu).
Quando o cliente for pagar, você recupera a tal lista, a partir do identificador do cliente e, então, após processar a venda, salva tudo no banco de dados, com informações já consolidadas.
R
rodriguesabner
Adicionar um por um mesmo? Por ID?
D
darlan_machado
em que sentido você se refere a adicionar um por um?
R
rodriguesabner
O Joãozinho comprou uma bala, gerou uma venda com o ID 1
No outro dia ele comprou outra coisa, gerou uma venda com o ID 2
Um item separadamente, aí pra buscar faz a soma
D
darlan_machado1 like
Não, não, muito dispendioso.
Melhor criar um mapa, onde todas as vendas, de todos os clientes, são armazenadas, cada qual em uma List, onde você vai adicionando elementos.
Pensa no seguinte cenário: João compra 1 bala de R$ 0,10. Depois, compra mais 2 pirulitos de R$ 0,50, depois compra mais 1 bala de R$ 0,10 e depois compra um refrigerante de R$ 4. Aí ele se arrepende e devolve um pirulito de R$ 0,50.
Você vai fazer inúmeros inserts à toa. Além de ter que fazer um DELETE e, no final, fazer um novo insert.
Faz tudo em memória primeiro, após consolidar, processa as informações e grava o que precisa no banco de dados.
R
rodriguesabner
Entendi, valeu.
D
Solucao aceita
darlan_machado1 like
Só para deixar mais claro.
Vamos considerar que você entregue uma comanda a cada cliente e a comanda tenha um código numérico. Logo, o mapa terá a chave numérica.
O valor associado à chave deve ser uma List, pois permite inclusão de itens repetidos.
publicvoidgravar(Itemitem,Integercodigo){Stringquery="INSERT INTO [TABELA] (...) VALUES (?, ?, ? ...)";}
R
Rodrigo_Void
Mas a questão é: vc quer ter no banco só o total devido, ou todas compras/itens?
No caso de ter só o total, ai sim vc vai alterar este valor a cada marcação, do contrario, vc só salva as compras com seu valor e o total vc terá fazendo uma busca que some os valores dos itens, como o @darlan_machado já explicou.