Tue 13 Dec 2005 23:45:04
มาอีกแล้วครับ
ยังค้างอยู่กับ ฟอร์มที่ผมจะทำใบสั่งนะครับ คือว่า ผมมีฐานข้อมูลดังนี้นะครับไม่รู้ว่าจะถูกหรือป่าวนะครับ ถ้าผิดยังงัยก็ช่วยบอกด้วยนะครับ
ตาราที่ 1 ตาราง ใบสั่ง มี Field ดังนี้ครับ
-เลขที่ใบเสร็จ(PK)
-รหัสพนักงานจราจร(PK)
-รหัสประตัวประชาชน(PK)
-ว/ด/ป ที่จับกุม
-สถานที่เกิดเหตุ
-ว/ด/ป ออกใบเสร็จ
-ค่าปรับ
**********ตารางรายละเอียดเปรียเทียบปรับ**************
-เลขที่ใบเสร็จ(PK)
-ลำดับคดีความ(PK)
-คดีเปรียบเทียบปรับที่(PK)
**********ตารางคดีความ******
-ลำดับคดีความ(PK)(Autonumber)
-รายละเอียดคดีความ
-อัตราค่าปรับ
*********ตารางผู้กระทำความผิด***
-รหัสประจำตัวประชาชน(PK)
-ชื่อ
-ว/ด/ป เกิด
-เบอร์โทร
-อาชีพ
**********ตารางที่อยู่ผู้กระทำความผิด*******
-รหัสประจำตัวประชาชน(PK)
-บ้านเลขที่
-ตำบล
-อำเภอ
-จังหวัด
-รหัสไปรษณีย์
***********ตารางใบอนุญาติขับขี่ผู้กระทำความผิด*****
-รหัสประจำตัวประชาชน(PK)
-เลขที่ใบอนุญาติขับขี่
-ประเภทรถที่ขับขี่
-วันอนุญาติ
-วันหมดอายุ
**********ตารางรถผู้กระทำความผิด*****
-รหัสประจำตัวประชาชน(PK)
-ประเภทรถ
-ยี่ห้อ
-สี
-ป้ายทะเบียน
***********ตารางพนักงานจราจร*******
-รหัสเจ้าพนักงานจราจร(PK)
-ชื่อ
-ตำแหน่ง
-ที่อยู่
ฐานข้อมูลทั้งหมดมีประมาณนี้นะครับไม่รู้ว่าใช้ได้หรือป่าวนะครับ
แต่ที่อยากจะถามก็คือ
---ผมทำหน้า web ขึ้นมาหน้าเดียวนะครับ เพื่อทำการป้อนข้อมูลต่างๆ เหล่านี้ลงในฐานข้อมูลที่ได้แสดงให้ดูนะครับ ผมอยากจะรู้ว่าจะสามารถที่จะบันทึกลงตามตารางต่างๆ ที่ผมทำนี้อย่างไรครับ คือ บันทึกทีเดียว แต่บันทึกข้อมูลลงหลายตารางนะครับ
แต่ไม่รู้ว่าฐานข้อมูลจะชัวร์หรือป่าวนะครับ ช่วยผมอีกหน่อยนะครับ ติดหน้านี้มานานเหลือเกินครับ
ที่ถามว่าทำอย่างไรคงต้องแล้วแต่การออกแบบครับ เข่น
ชื่อของผู้กระทำผิด รหัสประจำตัวประชาชน หรือรายละเอียดอื่นๆ ที่ vary คุณก็ทำเป็น textbox ไว้รับค่า
ส่วนอะไรที่เป็นกรณีที่ตายตัวอย่างเช่น พนักงานจราจร หรือ การเปรียบเทียบปรับ คุณอาจจะ query ออกมาใส่ลงใน select item ก็ได้ครับ
ส่วนที่ว่าการบันทึกนี้ก็ขึ้นอยู่กับตอนที่คุณออกแบบไว้ครับเอาข้อมูลต่างๆจากฟอร์มนำมาบันทึกลงใน field ต่างๆที่ได้ออกแบบไว้ครับ
ซึ่งใน connection นึงคุณจะทำการ query กี่คำสั่งก็ได้ ซึ่งการออกแบบ db มีผลโดยตรงกับการ query ตรงนี้ล่ะครับ
ฐานข้อมูลอันนี้ผมไม่มี comment นะครับเพราะผมไม่ทราบ requirement หรือ condition ที่คุณได้รับมาเพื่อออกแบบ การออกแบบ databse ก็ทำตามที่เรียนมาได้เลยครับ ถ้าคุณ optimize ได้ดีคุณก็เขียนโปรแกรมได้ง่ายหน่อย แต่ถ้าไม่ออกแบบให้ดีๆคุณก็ต้องหนื่อยกับการเขียนโปรแกรม
ผมแนะนิดเดียวว่าคนทั่วไปแล้วเขาจะชอบคลิ๊กด้วยเมาส์มากกว่าพิมพ์ด้วยคีย์บอร์ดครับ (ถ้าเป็นไปได้ก็ทำเป็น select item ให้มากที่สุดครับ)
Wed 14 Dec 2005 08:34:09
ครับ .. ที่ผมออกแบบ ก็จะเป็นอย่างที่พูดมานะครับ คือให้เค้าเลือกมากที่สุดโดยใช้ Combobox และ Rediobutton เพื่อให้เค้าเลือกซึ่งส่วนนี้ผมก็พอทำไปแล้วนะครับ แล้วผมจะถามต่อว่า ถ้าผมจะบันทึกข้อมูลต่าง ๆ ลงตามตารางที่ได้แสดงให้ดูนะครับ โดยการนำตารางต่าง ๆ เหล่านี้มาทำการ Inset Join กันนะครับ คือผมทำอย่างไรครับ ผมเคย Join กันแค่ 2 ตารางเองนะครับ มากกว่านี้ผมยังไม่เคยครับ ช่วยแนะนำหน่อยนะครับ
Wed 14 Dec 2005 13:20:44
ลองแสดงวิธีการบันทึกข้อมูลลงหลายๆ ตารางหน่อยจะได้มั้ยครับ
สมมุติว่ามีตารางดังนี้นะครั
ตาราง Tbl1
-ID
-Data
ตาราง Tbl2
-ID
-MyData
ตาราง Tbl3
-ID
-SumData
ประมาณนี้นะครับ
ทำการบันทึกข้อมูลต่าง ลงในฐานข้อมูลทั้ง 3 ตาราง โดยเข้าถึงตารางแต่ละตารางโดยใช้ ID เป็นตัวเข้าถึงตาราง และทำการบันทึกข้อมูลต่างๆ ลงใน Field Data,MyData,SumData
ไม่ทราบว่าพอจะมีวิธีหรือป่าวครับ
ซึ่งการ insert หลายตารางนั้น เพียงแต่ใช้ การ insert ทั้ง 2 แบบนี้ไปประยุกต์ใช้ตามต้องการครับ
จากตัวอย่างที่ให้มานี้ อาจจะเขียนได้เช่น
INSERT INTO tbl1(ID, Data) VALUES(1204,'my data1');
INSERT INTO tbl2(ID, MyData) VALUES(1204, 'my data2');
INSERT INTO tbl3(ID, SumData) VALUES(1204, 'my data3');
จะเห็นว่าเป็นการใช้ INSERT VALUES มาใช่เท่านั้นครับ
ส่วนการใช้ INSERT SELECT นั้นเป็นการนำเอาข้อมูลจากตารางที่ต้องการ (SELECT) มาใส่ในตารางที่ต้องการครับ เช่น
INSERT INTO temp_tbl(total_price) SELECT (tbl_product.price+tbl_shipping.price) FROM tbl_product INNER JOIN tbl_shipping ON tbl_product.product_id=tbl_shipping.product_id WHERE tbl_product.id=1254;
จะเห็นว่าเป็นการ INSERT..SELECT โดยการนำข้อมูลจากตารางอื่นมาใส่ยังตารางที่ต้องการ ในที่นี้เป็นการ เพิ่มข้อมูลลงใน ตารางโดยการคำนวนหาราคาสินค้ารวมครับ
Thu 15 Dec 2005 22:59:51
ครับผม rediobutton สามารถดึงข้อมูลจาฐานข้อมูลได้หรือป่าวครับ เช่น
ตาราง Mytbl
-id
-data
ดึง id มาไว้ที่ใน rediobutton แล้วเมื่อคลิกเลือกแล้วให้บันทึก id ลงใน ตารางอีกตารางหนึ่ง
ไม่รู้ว่าจาได้หรือป่าวครับ ถ้าได้ช่วยแสดง soucecode ให้หน่อยนะครับ
ขอบคุณครับ
//establish connection
//query data
<%
Do while not rs.EOF
response.write("<input type=\"radio\" name=\"myradio\" value=\"" & rs("id") &"\"> " & rs("data"))
rs.movenext
loop
%>
//close connection
ประมาณนี้ล่ะครับ โค๊ดอาจจะมีผิดพลาดบ้างนะครับ ไม่ถนัด VB
Sat 17 Dec 2005 21:01:40
ผมฐานข้อมูลพนักงานดังนี้นะครับ
ตารางพนักงาน
-รหัสพนักงาน(pk)
-ชื่อพนักงาน
ตารางที่อยู่พนักงาน
-รหัสพนักงาน(pk)
-ที่อยู่พนักงาน
ตารางเงินเดือนพนักงาน
-รหัสพนักงาน(pk)
-เงินเดือนพนักงาน
ซึ่งถ้าหากผมจะบันทึกข้อมูลลงตามตาราง ทั้ง 3 ตารางนี้นะครับ โดยเช็คว่าถ้าพนักงานคนนี้มีอยู่แล้วให้ฟ้องว่ามีข้อมูลของพนักงานคนนี้อยู่แล้ว ไม่ทราบว่าจะต้องทำยังงัยครับช่วยอธิบายให้ผมด้วยนะครับ
ขอบคุณครับ

















