ดูๆแล้วใน ตารางไม่จำเป็นต้องมี real ก็ได้นิครับ
ใช้ select (sumAmount - numSent) as real ได้แล้ว
รึไม่ถ้ายังเก็บ real ไว้ยุ
เราก็ต้องทำงานเพิ่มอีกคือ
1. กระบวนการตอน save data ก็ต้องมี sumAmount - numSent = real ไปเกี่ยวข้องด้วย
**ตัวนี้จะชอบเกิดปัญหาการเพิ่มลด sumAmount ,numSent โอกาศที่จะส่งค่าผิดไปก็มี(ให้ทาย)
2. ตอนเอามาใช้งานก็ต้องปิด sumAmount ,numSent ไปซะเหลือแค่ real
ถ้าตัด real ออกจะทำงานแค่ 1 ขั้นตอนคือ
1. ตอนเอามาใช้งานก็ต้อง ใช้ select (sumAmount - numSent) as real **โอกาศพลาดจะน้อยเพราะมัน realtime อยู่แล้ว
พี่ครับ แล้วอยากนี้เราต้องเพิ่มคอลัมน์ Datagridview ด้วยไหมครับ เพื่อรองรับค่า real
Code (VB.NET)
conn.Open()
cm = conn.CreateCommand()
With cm
.CommandText = "SELECT * FROM GoodsCheck "
.CommandType = CommandType.Text
End With
da = New SqlDataAdapter(cm)
da.Fill(dt2)
conn.Close()
DataGridView2.DataSource = dt2
DataGridView2.Columns.Clear()
Dim col As DataGridViewTextBoxColumn
col = New DataGridViewTextBoxColumn()
With col
.DataPropertyName = "goodsID"
.HeaderText = " รหัสครุภัณฑ์"
.Width = "150"
End With
DataGridView2.Columns.Add(col)
col = New DataGridViewTextBoxColumn()
With col
.DataPropertyName = "room"
.HeaderText = " ห้อง"
.Width = "150"
End With
DataGridView2.Columns.Add(col)
col = New DataGridViewTextBoxColumn()
With col
.DataPropertyName = "sumAmount"
.HeaderText = " จำนวน"
.Width = "100"
End With
DataGridView2.Columns.Add(col)
col = New DataGridViewTextBoxColumn()
With col
.DataPropertyName = "numSent"
.HeaderText = " จำนวนส่ง"
.Width = "100"
End With
DataGridView2.Columns.Add(col)
col = New DataGridViewTextBoxColumn()
With col
.DataPropertyName = "real"
.HeaderText = " จำนวนทั้งหมด"
.Width = "150"
End With
DataGridView2.Columns.Add(col)
สำหรับผมคิดมองว่ามีก็ดีเพราะสะดวกต่อการประเมิณผล
ตกลงคือ ตัด หรือไม่ได้ตัด real ใน ตารางออกละครับ
** ถ้าพูดตามหลักนักวิทย์ real ถือว่าเป็นค่าเกี่ยวเนื่อง หรือ secondary value ผมจะไม่เก็บให้รกตารางเพราะมันดึงมาจากที่อื่นได้
สำหรับโค๊ดก็แค่เปลี่ยน "SELECT * FROM GoodsCheck " ให้เพิ่ม (sumAmount - numSent) as real ก็โชว์ได้แล้ว