【问题标题】:C# windows Form and MYSQLC# windows 窗体和 MYSQL
【发布时间】:2014-11-29 22:49:01
【问题描述】:

我正在使用 C# windows 窗体应用程序创建电影院预订系统。我正在使用一系列按钮来创建座位布局。 然而,我遇到了障碍。我的程序的一项功能是将客户信息存储到 MYSQL 数据库中。该程序还应跟踪客户历史记录(预订、购买门票)。打开他们的个人资料时,应显示客户历史记录。这是我遇到问题的地方。我已经负责保存和删除客户的一般信息(姓名。电话,电子邮件......)。我尝试在 MYSQL 数据库中创建另一个表并保存客户执行的每个操作。我还在程序(c# windows 窗体)中放置了一个列表视图,我计划在其中放置客户历史记录(将信息从数据库上传到列表视图)。

如何将历史记录与客户联系起来?

我还尝试创建一个包含所有客户姓名和其他信息的表。并为每一位客户创建一张“历史表”。但是这种方式会是一个问题,因为我必须为每个新客户创建一个表(以保留他们的预订票和其他历史记录),这将是一个可怕的编程(如果可以在 MYSQL 数据库之外创建表)。

谢谢你 如果问题不够具体,请告诉我。

【问题讨论】:

  • 您需要的与标签或标题中的任何内容无关:您需要学习数据库设计的基础知识。谷歌是你的朋友,也是笔和纸..!恐怕这个问题不适合这个网站。

标签: c# windows forms


【解决方案1】:

我假设您的用户有一些唯一标识符,或者是用户 ID,或者是 guid,或者是唯一的登录名。 假设您只有登录作为唯一 ID,在这种情况下(如果您不想添加 auto_increment 用户 ID 列)只需将字段“用户”添加到历史表并链接它们。

正确的方法是使用外键,但是,看看您的开始方式,只需添加唯一字段(或在您的用户表中创建一个唯一字段)并从所有其他表中引用该列即可做得很好。

不要忘记索引唯一列以便快速查找;)

祝你好运,

bovako

【讨论】:

  • 是的,每个客户都有一个 userId 作为唯一标识符。我在您的评论中不明白的是这一行“字段'用户'到历史表并将它们链接起来。” “领域”是什么意思。您是否建议我应该创建一个历史表并通过此“字段”将其链接到每个客户。感谢您的帮助
  • 对不起,我指的是专栏。因此,只要每个表都有您可以加入的列,您就只会得到相关的结果。但是,我猜你最后明白了。 :) 感谢您的回答标记。非常感谢。
【解决方案2】:

在您存储客户每次购票或预订时的数据的表中为customerID 创建一个属性。

当您需要查看购票和预订历史记录时,将使用此功能。您需要做的就是在您的查询中通过customerID 将客户表与交易表连接起来,以获取客户名称。

【讨论】:

    猜你喜欢
    • 2015-07-21
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2013-08-09
    相关资源
    最近更新 更多