---
# System prepended metadata

title: 'This is #資料庫_搶票系統'

---

# This is #資料庫_搶票系統

一個資料庫、兩個資料表
VS 有三個畫面 登入、註冊、訂票
UI美化 ppt

分工：
1. 登入-->顏
1. 註冊(連新資料庫,結束回登入畫面)-->
1. <font color="#f00">大工程:</font>訂票(選座位)(成功(訂票的資料、付款代碼)、失敗(沒位置了)(做資料傳回資料庫)
1. UI美化、ppt

-- 要寫出CODE 資料讀回DB --


## todo：
1. 登入畫面 (登入、建立帳號)
2. 連上資料庫
3. 購票畫面
4. 放大巨蛋的圖，下面放區的button(39)
5. 購票成功(message)/售完(message)
6. 
7. 



***
## 資料庫TITLE:
### 帳號(註冊)(account)
使別值seed:2024111
識別值增量:1
1 ID-->PK
2 Name
3 Account
4 PasswordSalt
5 PasswordHASH

### 訂票(位置)
1 Area --> PK
3 Price
5 Statu

### 訂單(order)
1 ID
2 NAME
3 ACCOUNT
4 AREA
5 ORDERID      
***
## 購票系統
### 訂票系統的規則：
* 一區只有5個人
* 一次只能買一張
![image](https://hackmd.io/_uploads/Hyp8xdFO6.png)


## CODE
//csharp為C#語法意
//紀錄可能會用到的程式碼?
```csharp
//但這邊的if else迴圈還有點問題==
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace test
{
    public partial class Form1 : Form
    {
        SqlConnection sqlconn;
        SqlCommand sqlcommand;
        SqlDataReader sqldatareader;
        SqlDataAdapter sqlDataAdapter;
        public Form1()
        {
            InitializeComponent();
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            // 設定 PictureBox 的大小
            pictureBox1.Size = this.ClientSize; // 或者直接指定一個適當的大小，例如 new Size(800, 600);

            // 設定 PictureBox 填滿整個容器
            pictureBox1.Dock = DockStyle.Fill;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //DESKTOP-6OEQ83H\DB2022
            //設定sql server 連線字串
            sqlconn = new SqlConnection("Data Source=DESKTOP-6OEQ83H\\DB2022;Initial Catalog = system; Integrated Security=false;user id=sqldba;password=654321");
            //建立連線
            sqlconn.Open();
            //建立sqlcommand 執行insert 動作
            sqlcommand = new SqlCommand("insert into 訂單 values (@ID,@Name,@Account,@Area,@OrderID,1)", sqlconn);

            sqlcommand.Parameters.AddWithValue("@ID", textBox1.Text);
            sqlcommand.Parameters.AddWithValue("@Name", textBox2.Text);
            sqlcommand.Parameters.AddWithValue("@Account", textBox3.Text);
            sqlcommand.Parameters.AddWithValue("@Area", comboBox1.SelectedItem.ToString());
            sqlcommand.Parameters.AddWithValue("@OrderID", 1);

            if (comboBox1.SelectedItem != null && comboBox1.SelectedText.ToString() == "B") {
                MessageBox.Show("位置已滿");
            }
            else
            {
                // 執行 SQL 語句
                sqlcommand.ExecuteNonQuery();
                訂票成功 form2 = new 訂票成功();
                form2.ShowDialog();
            }

           
        }
    }
}

```


