กระทู้เก่าบอร์ด อ.Yeadram
1,369 3
URL.หัวข้อ /
URL
ต้องการบันทึกข้อมูลตัวเก่าอีกรอบ
เขียนโปรแกรมเก็บข้อมูลลูกค้าที่ร้านเน็ต ที่ใช้อยู่เวลามีลูกค้าเข้ามาใช้เครื่องก็จะค้นหาข้อมูลโดยการพิมพ์รหัสสมาชิกเพื่อดึงข้อมูล ชื่อ สกุล ที่อยู่ หมายเลขบัตรประชาชน ขึ้นมา แล้วเลือกเครื่องที่ลูกค้านั่ง จากนั้นก็กดปุ่มบันทึก ข้อมูลก็จะแสดงที่รายงาน แต่ติดปัญหาตรงที่เวลาลูกค้าเปลื่อนเครื่องเล่น ถ้าต้องการทำการบันทึกใหม่ โดยที่ไม่ให้ข้อมูลไปทับข้อมูลเดิมที่เคยบันทึกไว้ ไม่รู้ว่าต้องทำยังไงคะ ทำมา 3 สัปดาห์แล้วทำไม่ได้สักที รบกวนด้วยนะคะ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R01071
ต้องเปลี่ยนคำสั่งตัวนี้หรือเปล่าคะ
UPDATE Tb_mem SET TimeStart = nulll, DateUse = null, Ipcom = null;
รบกวนเขียนคำสั่งให้หน่อยคะ จะขอบคุณมาก ๆๆ ลองทำแล้วแต่ไม่รู้จะเริ่มยังไง
UPDATE Tb_mem SET TimeStart = nulll, DateUse = null, Ipcom = null;
รบกวนเขียนคำสั่งให้หน่อยคะ จะขอบคุณมาก ๆๆ ลองทำแล้วแต่ไม่รู้จะเริ่มยังไง
3 @R01075
ลูกค้ายังไม่ออกจากร้าน แค่เปลี่ยนเก้าอี้ เหตุการณ์มันจะเป็นยังไง
1 ลูกค้านั่งเก้าอี้ตัวแรก คุณใช้ Insert ....into ไปแล้ว
2 ลูกค้าลุกจากเก้าอี้ตัวแรก ผมแนะนำไม่ต้องไปเซ็ตเป็น null แนะนำให้ทำเหมือนกับว่าลูกค้าออกจากร้าน นั่นคือ update ให้นับเวลาปิดไปเลย
3 ลูกค้าไปนั่งเก้าอี้ตัวใหม่ คุณก็ทำเสมือน ลูกค้าเพิ่งเข้าร้านมาใหม่ ก็ insert...into อีกรอบ
ผมให้ได้แต่แนวคิดละครับเพราะผมไม่เห็นลำดับการทำงานในโค้ดของคุณ ไม่รู้จะแก้ จะแทรกยังไง
ฟิลด์ TimeStart พอเดาออกว่ามันคืออะไรเพราะตั?งชื่อได้สื่อความหมายดี
ฟิลด์ Ipcom ก็เช่นกัน
แต่ฟิลด์ DateUse ไม่รู้ว่าคุณเก็บอะไร เก็บเป็น Long หรือ DateTime หรือเก็บอะไร ทำให้เดาโครงสร้างตารางคุณไม่ถูก ไม่รู้ว่ากระบวนงานที่มีอยู่แล้วมันเป็นยังไง
1 ลูกค้านั่งเก้าอี้ตัวแรก คุณใช้ Insert ....into ไปแล้ว
2 ลูกค้าลุกจากเก้าอี้ตัวแรก ผมแนะนำไม่ต้องไปเซ็ตเป็น null แนะนำให้ทำเหมือนกับว่าลูกค้าออกจากร้าน นั่นคือ update ให้นับเวลาปิดไปเลย
3 ลูกค้าไปนั่งเก้าอี้ตัวใหม่ คุณก็ทำเสมือน ลูกค้าเพิ่งเข้าร้านมาใหม่ ก็ insert...into อีกรอบ
ผมให้ได้แต่แนวคิดละครับเพราะผมไม่เห็นลำดับการทำงานในโค้ดของคุณ ไม่รู้จะแก้ จะแทรกยังไง
ฟิลด์ TimeStart พอเดาออกว่ามันคืออะไรเพราะตั?งชื่อได้สื่อความหมายดี
ฟิลด์ Ipcom ก็เช่นกัน
แต่ฟิลด์ DateUse ไม่รู้ว่าคุณเก็บอะไร เก็บเป็น Long หรือ DateTime หรือเก็บอะไร ทำให้เดาโครงสร้างตารางคุณไม่ถูก ไม่รู้ว่ากระบวนงานที่มีอยู่แล้วมันเป็นยังไง
Time: 0.3525s
แสดงว่าเป็นการบันทึกครั้งแรก เดาว่าน่าจะใช้ คิวรี่แบบ append
หรือ "INSERT.... INTO .... "
"ถ้าต้องการทำการบันทึกใหม่ โดยที่ไม่ให้ข้อมูลไปทับข้อมูลเดิมที่เคยบันทึกไว้"
ถ้าคุณใช้การบันทึกครั้งหลังนี้โดย คิวรี่แบบอัพเดต มันก็จะทับของเก่าแน่นอนครับ
ถ้าไม่ต้องการทับ ก็ตั้งกลับไปใช้ คิวรี่แบบเพิ่มข้อมูลเหมือนตอนแรกครับ
คือแทนที่จะใช้ "Update ...... SET..."
ก็ใช้ "INSERT .... INTO ..." ไงครับ
ทำมา 3 สัปดาห์แล้วทำไม่ได้สักที
ทำอะไรบ้าง - ยังไงบ้าง - ผลเป็นไงบ้าง - วิธีนั้น วิธีนี้ วิธีนู้น ลองหรือยัง