如何确保门票销售不超过允许范围?

e7arh2l6  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(196)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

两年前关门了。
改进这个问题
售票公司如何保证不再售票?
例如,你有40张可用的票,卖出39张,2个人同时开始购买,两个人都会有该票可用的信息,但是一旦一个人完成购买,另一个人仍然会有该票可用的虚假信息,购买不会被阻止。
如何解决这个问题?

vsdwdz23

vsdwdz231#

不确定您希望在数据库端或c端得到什么样的答案。在任何情况下,c面都应该非常简单,看起来像:

private void Order_bt_Click(object sender, RoutedEventArgs e)
    {

        DataTable data = ReadDataFromDB();

        if (data.Rows.Count <= 40)
        {
            // reserve the ticket to a person
        }
        else
        {
            MessageBox.Show("Sorry, the show is sold out");
        }

    }
ufj5ltwl

ufj5ltwl2#

一旦有人进入了购买流程,就将该票标记为不可用(可能有20分钟的过期时间),这样其他购物者就不能购买该票了。如果第二个购物者尝试进入购买工作流,请告诉他们票不再可用。
“进入采购流程”定义为“关键部分”,一次只允许一个人进入。两个人要同时申领最后一张票是不可能的。
当第一个人购买时,永久减少可用门票。如果第一个人取消购买或放弃工作流,请将保留的票证释放回可用池。

相关问题