พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
ASP programming / ใบสั่งครับ
korakot_titla
korakot_titla
Tue 13 Dec 2005 23:45:04

มาอีกแล้วครับ

ยังค้างอยู่กับ ฟอร์มที่ผมจะทำใบสั่งนะครับ คือว่า ผมมีฐานข้อมูลดังนี้นะครับไม่รู้ว่าจะถูกหรือป่าวนะครับ ถ้าผิดยังงัยก็ช่วยบอกด้วยนะครับ

ตาราที่ 1 ตาราง ใบสั่ง  มี Field ดังนี้ครับ

-เลขที่ใบเสร็จ(PK)

-รหัสพนักงานจราจร(PK)

-รหัสประตัวประชาชน(PK)

-ว/ด/ป ที่จับกุม

-สถานที่เกิดเหตุ

-ว/ด/ป ออกใบเสร็จ

-ค่าปรับ

**********ตารางรายละเอียดเปรียเทียบปรับ**************

-เลขที่ใบเสร็จ(PK)

-ลำดับคดีความ(PK)

-คดีเปรียบเทียบปรับที่(PK)

**********ตารางคดีความ******

-ลำดับคดีความ(PK)(Autonumber)

-รายละเอียดคดีความ

-อัตราค่าปรับ

*********ตารางผู้กระทำความผิด***

-รหัสประจำตัวประชาชน(PK)

-ชื่อ

-ว/ด/ป เกิด

-เบอร์โทร

-อาชีพ

**********ตารางที่อยู่ผู้กระทำความผิด*******

-รหัสประจำตัวประชาชน(PK)

-บ้านเลขที่

-ตำบล

-อำเภอ

-จังหวัด

-รหัสไปรษณีย์

***********ตารางใบอนุญาติขับขี่ผู้กระทำความผิด*****

-รหัสประจำตัวประชาชน(PK)

-เลขที่ใบอนุญาติขับขี่

-ประเภทรถที่ขับขี่

-วันอนุญาติ

-วันหมดอายุ

**********ตารางรถผู้กระทำความผิด*****

-รหัสประจำตัวประชาชน(PK)

-ประเภทรถ

-ยี่ห้อ

-สี

-ป้ายทะเบียน

***********ตารางพนักงานจราจร*******

-รหัสเจ้าพนักงานจราจร(PK)

-ชื่อ

-ตำแหน่ง

-ที่อยู่

ฐานข้อมูลทั้งหมดมีประมาณนี้นะครับไม่รู้ว่าใช้ได้หรือป่าวนะครับ

แต่ที่อยากจะถามก็คือ 

---ผมทำหน้า web ขึ้นมาหน้าเดียวนะครับ เพื่อทำการป้อนข้อมูลต่างๆ เหล่านี้ลงในฐานข้อมูลที่ได้แสดงให้ดูนะครับ ผมอยากจะรู้ว่าจะสามารถที่จะบันทึกลงตามตารางต่างๆ ที่ผมทำนี้อย่างไรครับ คือ บันทึกทีเดียว แต่บันทึกข้อมูลลงหลายตารางนะครับ

แต่ไม่รู้ว่าฐานข้อมูลจะชัวร์หรือป่าวนะครับ ช่วยผมอีกหน่อยนะครับ ติดหน้านี้มานานเหลือเกินครับ

Administrator
Wed 14 Dec 2005 00:27:06
ถามว่าทำฟอร์มเพื่อใส่ข้อมูลลงทุกตาราง ผมเข้าใจว่า เป็นการใส่ข้อมูลเพื่อเก็บเป็น record ตาม condition ที่ตั้งไว้ใช่ไหมครับ

ที่ถามว่าทำอย่างไรคงต้องแล้วแต่การออกแบบครับ เข่น
ชื่อของผู้กระทำผิด รหัสประจำตัวประชาชน หรือรายละเอียดอื่นๆ ที่ vary คุณก็ทำเป็น textbox ไว้รับค่า
ส่วนอะไรที่เป็นกรณีที่ตายตัวอย่างเช่น พนักงานจราจร หรือ การเปรียบเทียบปรับ คุณอาจจะ query ออกมาใส่ลงใน select item ก็ได้ครับ

ส่วนที่ว่าการบันทึกนี้ก็ขึ้นอยู่กับตอนที่คุณออกแบบไว้ครับเอาข้อมูลต่างๆจากฟอร์มนำมาบันทึกลงใน field ต่างๆที่ได้ออกแบบไว้ครับ
ซึ่งใน connection นึงคุณจะทำการ query กี่คำสั่งก็ได้ ซึ่งการออกแบบ db มีผลโดยตรงกับการ query ตรงนี้ล่ะครับ

ฐานข้อมูลอันนี้ผมไม่มี comment นะครับเพราะผมไม่ทราบ requirement หรือ condition ที่คุณได้รับมาเพื่อออกแบบ การออกแบบ databse ก็ทำตามที่เรียนมาได้เลยครับ ถ้าคุณ optimize ได้ดีคุณก็เขียนโปรแกรมได้ง่ายหน่อย แต่ถ้าไม่ออกแบบให้ดีๆคุณก็ต้องหนื่อยกับการเขียนโปรแกรม

ผมแนะนิดเดียวว่าคนทั่วไปแล้วเขาจะชอบคลิ๊กด้วยเมาส์มากกว่าพิมพ์ด้วยคีย์บอร์ดครับ (ถ้าเป็นไปได้ก็ทำเป็น select item ให้มากที่สุดครับ)
korakot_titla
korakot_titla
Wed 14 Dec 2005 08:34:09

ครับ .. ที่ผมออกแบบ ก็จะเป็นอย่างที่พูดมานะครับ คือให้เค้าเลือกมากที่สุดโดยใช้ Combobox และ Rediobutton เพื่อให้เค้าเลือกซึ่งส่วนนี้ผมก็พอทำไปแล้วนะครับ แล้วผมจะถามต่อว่า ถ้าผมจะบันทึกข้อมูลต่าง ๆ ลงตามตารางที่ได้แสดงให้ดูนะครับ โดยการนำตารางต่าง ๆ เหล่านี้มาทำการ Inset Join กันนะครับ คือผมทำอย่างไรครับ ผมเคย Join กันแค่ 2 ตารางเองนะครับ มากกว่านี้ผมยังไม่เคยครับ ช่วยแนะนำหน่อยนะครับ

Administrator
Wed 14 Dec 2005 09:50:26
การ join table นั้นก็บอกยากนะครับขึ้นอยู่กับข้อมูลที่ต้องการครับว่าต้องการ join เพื่อให้ได้ข้อมูลแบบไหน การ join สามารถทำได้หลายๆ table ครับ แต่ก็ต้องดูว่าต้องการ join เพื่อให้ได้ความสัมพันธ์ของข้อมูลแบบไหนครับ
bit69
bit69
Wed 14 Dec 2005 13:20:44

ลองแสดงวิธีการบันทึกข้อมูลลงหลายๆ ตารางหน่อยจะได้มั้ยครับ

สมมุติว่ามีตารางดังนี้นะครั

ตาราง Tbl1

-ID

-Data

ตาราง Tbl2

-ID

-MyData

ตาราง Tbl3

-ID

-SumData

ประมาณนี้นะครับ

ทำการบันทึกข้อมูลต่าง ลงในฐานข้อมูลทั้ง 3 ตาราง โดยเข้าถึงตารางแต่ละตารางโดยใช้ ID เป็นตัวเข้าถึงตาราง และทำการบันทึกข้อมูลต่างๆ ลงใน Field  Data,MyData,SumData

ไม่ทราบว่าพอจะมีวิธีหรือป่าวครับ

Administrator
Wed 14 Dec 2005 14:37:19
การ insert ลองในตารางนั้น มีเพียง 2 แบบเท่านั้นครับ insert...values และ insert...select
ซึ่งการ 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 โดยการนำข้อมูลจากตารางอื่นมาใส่ยังตารางที่ต้องการ ในที่นี้เป็นการ เพิ่มข้อมูลลงใน ตารางโดยการคำนวนหาราคาสินค้ารวมครับ
bit69
bit69
Thu 15 Dec 2005 22:59:51

ครับผม rediobutton สามารถดึงข้อมูลจาฐานข้อมูลได้หรือป่าวครับ เช่น

ตาราง Mytbl

-id

-data

ดึง id มาไว้ที่ใน rediobutton แล้วเมื่อคลิกเลือกแล้วให้บันทึก id ลงใน ตารางอีกตารางหนึ่ง

ไม่รู้ว่าจาได้หรือป่าวครับ ถ้าได้ช่วยแสดง soucecode ให้หน่อยนะครับ

ขอบคุณครับ

Administrator
Fri 16 Dec 2005 00:01:39
สามารทถทำได้ครับ เช่น
//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 Smile
bit69
bit69
Sat 17 Dec 2005 21:01:40

ผมฐานข้อมูลพนักงานดังนี้นะครับ

ตารางพนักงาน

-รหัสพนักงาน(pk)

-ชื่อพนักงาน

ตารางที่อยู่พนักงาน

-รหัสพนักงาน(pk)

-ที่อยู่พนักงาน

ตารางเงินเดือนพนักงาน

-รหัสพนักงาน(pk)

-เงินเดือนพนักงาน

ซึ่งถ้าหากผมจะบันทึกข้อมูลลงตามตาราง ทั้ง 3 ตารางนี้นะครับ โดยเช็คว่าถ้าพนักงานคนนี้มีอยู่แล้วให้ฟ้องว่ามีข้อมูลของพนักงานคนนี้อยู่แล้ว ไม่ทราบว่าจะต้องทำยังงัยครับช่วยอธิบายให้ผมด้วยนะครับ

ขอบคุณครับ

Administrator
Sat 17 Dec 2005 21:57:32
การตรวจสอบว่ามีข้อมูลของพนักงานนั้นๆหรือยัง ก็คือ การ query โดยใช้ข้อมูลที่เป็น unique ครับ เช่น ชื่อ, รหัสพนักงาน, รหัสประจำตัวประชาชน ฯลฯ โดยถ้ามีอยู่แล้วก็จะได้ข้อมูลคืนกลับมา แต่ถ้ายังไม่มีก็จะไม่ได้ข้อมูลคืนกลับมาครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login