[AJUDA] SISTEMA DE CREDITO E DEBITO!

TUNUSAT 25/05/2015 23:10:14
#447020
BETOPSY,

é simples, você precisa usar BEGIN TRANSACTION e ( COMMIT TRANSACTION ou ROLLBACK TRANSACTION ).

Você faz o Update nas tabelas dentro da transação, se um update falhar ou outro retorna (rollback) não tirando o sincronismo do Débito X Crédito. Se os dois funcionarem então faz um Commit.

Por favor, tente fazer este exemplo deste tópico em VB.Net 2005 do Macoratti:

====================================================
VB.NET 2005 - Usando transações em atualizações de tabelas
http://www.macoratti.net/vbn5_trt.htm
====================================================

Se você tiver dúvidas neste tópico o pessoal aqui ajuda ... eu tb! KKKKK!

[][ô]s,
Tunusat.
BETOPSY 26/05/2015 02:27:47
#447021
Meu problema e nao entender nada de sql :(
NICKOSOFT 26/05/2015 04:50:59
#447022
Procure no site q tem varios exemplos
No google crud sql vb.net (create read update delete) as 4 funcoes triviais c banco de dados, vai ver desde formas simples ate formas complexas, precisa ir se adaptando
TUNUSAT 26/05/2015 08:12:16
#447025
BETOPSY,

Infelizmente para entender de SQL você vai precisa ralar e bastante como todos nós fizemos um dia.
Mas a sua sorte é que hoje em dia tem muito material disponível na internet: Veja vídeos no You Tube, Sites de Tutoriais, Blogs, Fóruns, o material é fato e amplo para o nível básico ... o mesmo não se aplica para o nível avançado. Aqui mesmo tem apostilas de SQL Server.
Copie alguma apostilas para você e veja quais você [Ô]se identifica[Ô], algumas você não gostará, mas tenho certeza que pelo menos uma você vai gostar de ler. Assista vídeos no You Tube. Tente copiar os exemplos e entender o que eles estão fazendo.

Exemplos:

============================================
Uma apostila BEM básica ensinando o arroz com feijão (apesar do cara ter vários certificados):
http://www.cnmcut.org.br/midias/arquivo/1104-apostila-de-sql-basico-2.pdf
============================================
O curso K19 dá sua apostila na faixa ... já o curso é pago ...
http://www.k19.com.br/artigos/apostila-gratuita-de-sql-e-banco-de-dados-relacional/
============================================
Outra apostila básica
http://sistemas.riopomba.ifsudestemg.edu.br/dcc/materiais/833034638_apostila-sql.PDF
============================================
Milhares de apostilas de SQL Server:
http://www.oficinadanet.com.br/apostilas/detalhe/160/apostila_basica_de_sql_para_sql_server
============================================

Anexo um pensamento:

============================================
O único que pode percorrer o seu caminho é você, mas... o segredo da realização plena está nas pessoas que escolhe para lhe acompanhar!
Karla Wish
http://pensador.uol.com.br/percorrer_um_bom_caminho/25/
============================================

Uma das portas estreitas do professor...

[][ô]s,
Tunusat.
BETOPSY 26/05/2015 23:56:01
#447060
Eu conseguir fazer a parte de login , cadastro de usuario, usando slq
o meu problema e so essa parte mesmo de saldo e debito ,
acho que vou deixar pra la !
MESTRE 27/05/2015 07:44:15
#447061
Para ter sucesso é importante nunca desistir no primeiro obstáculo..

Nem no 1º, nem no 2°, nem no 3° ...........

Tem que correr atrás, estudar, ver videos no YT como o pessoal falou, isso não é complexo, pelo contrário é simples..

Garanto que na sua trajetória você vai encontrar obstáculos bem mais difíceis, e se você for desistir a cada um deles ai vai ser um problema!
TUNUSAT 27/05/2015 07:47:49
#447062
BETOPSY,

O sistema de Débito e o sistema de Crédito tem que funcionar juntos.
Se debita em um é imperativo que seja creditado no outro, não pode haver falhas, senão créditos vão parar no ar!
O inverso é Imprescindível também, ou seja, se é creditado em um é preciso ter certeza que foi debitado no outro.

Pra fazer isso você precisa aprender bastantão dois assuntos:
- SQL - Structure Query Language;
- O trio fantástico de irmãos (veja que eles tem o mesmo sobrenome): Begin Transaction, RollBack Transaction e Commit Transaction;

ABAIXO, ESTA PARTE é MUITO IMPORTANTE!!!
Agora...
... se der um desânimo estudar e fazer, lembre-se!!!
O Naruto nunca abandona seus amigos! E comece a cantar a musiquinha do Naruto ... aquela clássica que ele levanta do chão depois de ter tomado muita porrada ... esqueci o nome, mas é +/- assim: (fi, fi-fi-fi, fiu ...) caso não se lembre, coloque para tocar aqui:
http://www.vagalume.com.br/naruto/

[][ô]s,
Tunusat.
FFCOUTO 27/05/2015 09:05:09
#447070
BETOPSY,

Você deve pensar no seu gerenciador como uma [Ô]conta bancária[Ô]. Ao comprar o crédito você vai fazer um INSERT com o valor comprado. Por lógica, ao utlizar o sistema, você deverá gerar um outro INSERT, mas com o valor utilizado. Dessa forma, você pode obter o saldo automaticamente fazendo apenas um SELECT SUM.

Não utilize um campo apenas para registrar o saldo. é muito importante você acompanhar a movimentação, até mesmo para uma auditoria se necessário.

De forma simples você precisa de uma tabela (mov_financeiro) com essa estrutura:
ID integer auto_increment
ID_CLIENTE integer
DATA_MOVTO datetime
MOVTO integer (opcional, 1 indica compra, 2 indica venda mas você pode usar valor positivo e negativo para indicar o tipo de movimento)
VALOR money
AUTH varchar(64) (opcional, campo para armazenar uma autenticação da transação, para avaliar se os dados não foram modificados fora do sistema)


Na compra você faz esse INSERT
  • Usando o campo MOVTO
    INSERT INTO mov_financeiro (id_cliente, data_movto, movto, valor, auth) VALUES (1, GETDATE(), 1, 100, 
  • [ô]xxxxx[ô]);
  • Sem o campo MOVTO
    INSERT INTO mov_financeiro (id_cliente, data_movto, valor, auth) VALUES (1, GETDATE(), 100, 
  • [ô]xxxxx[ô])

    Na venda você faz esse INSERT
  • Usando o campo MOVTO
    INSERT INTO mov_financeiro (id_cliente, data_movto, movto, valor, auth) VALUES (1, GETDATE(), 2, 5, 
  • [ô]xxxxx[ô])
  • Sem o campo MOVTO
    INSERT INTO mov_financeiro (id_cliente, data_movto, valor, auth) VALUES (1, GETDATE(), -5, 
  • [ô]xxxxx[ô])

    Para consultar o saldo você usa este SELECT
  • Usando o campo MOVTO
    SELECT SUM(CASE movto WHEN 1 THEN valor WHEN 2 THEN -valor END) AS saldo FROM mov_financeiro WHERE (id_cliente = 1)

  • Sem o campo MOVTO
    SELECT SUM(valor) AS saldo FROM mov_financeiro WHERE (id_cliente = 1)


    é isso. Agora implementar isso no seu sistema é com você.
  • NILSONTRES 27/05/2015 09:05:49
    #447071
    TUNUSAT,
    Citação:

    é simples, você precisa usar BEGIN TRANSACTION e ( COMMIT TRANSACTION ou ROLLBACK TRANSACTION ).


    Então, tem muita gente desenvolvendo e vendendo sistema e não sabe o que é transações em banco de dados, não estou dizendo que nosso amigo BETOPSY faça isso, ele mesmo já disse que é inexperiente, mas de anos e anos aqui, já vi muita gente não utilizar, o que eu acho uma bomba relógio um sistema sem transações.
    BETOPSY 27/05/2015 09:13:47
    #447073
    Agora ja deu uma clareada na minha cabeça , vou montar e posto aqui como ficou!

    Eu não vendo programa nem nada, apenas gosto de aprender, ai penso e algo e tento montar,
    não sou programador real , apenas um curioso que gosta!
    Página 2 de 3 [26 registro(s)]
    Tópico encerrado , respostas não são mais permitidas