[AJUDA] SISTEMA DE CREDITO E DEBITO!
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.
é 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.
Meu problema e nao entender nada de sql :(
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
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
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.
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.
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 !
o meu problema e so essa parte mesmo de saldo e debito ,
acho que vou deixar pra la !
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!
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!
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.
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.
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:
Na compra você faz esse INSERT
Usando o campo MOVTO
[ô]xxxxx[ô]);
Sem o campo MOVTO
[ô]xxxxx[ô])
Na venda você faz esse INSERT
Usando o campo MOVTO
[ô]xxxxx[ô])
Sem o campo MOVTO
[ô]xxxxx[ô])
Para consultar o saldo você usa este SELECT
Usando o campo MOVTO
Sem o campo MOVTO
é isso. Agora implementar isso no seu sistema é com você.
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
INSERT INTO mov_financeiro (id_cliente, data_movto, movto, valor, auth) VALUES (1, GETDATE(), 1, 100,
INSERT INTO mov_financeiro (id_cliente, data_movto, valor, auth) VALUES (1, GETDATE(), 100,
Na venda você faz esse INSERT
INSERT INTO mov_financeiro (id_cliente, data_movto, movto, valor, auth) VALUES (1, GETDATE(), 2, 5,
INSERT INTO mov_financeiro (id_cliente, data_movto, valor, auth) VALUES (1, GETDATE(), -5,
Para consultar o saldo você usa este SELECT
SELECT SUM(CASE movto WHEN 1 THEN valor WHEN 2 THEN -valor END) AS saldo FROM mov_financeiro WHERE (id_cliente = 1)
SELECT SUM(valor) AS saldo FROM mov_financeiro WHERE (id_cliente = 1)
é isso. Agora implementar isso no seu sistema é com você.
TUNUSAT,
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.
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.
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!
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!
Tópico encerrado , respostas não são mais permitidas