ระหว่างที่รอคุณ Tangy เขียนเรื่อง BC4J ตอนที่ 3
ผมขอคั่นจังหวะ ด้วยการสร้าง ADF Search Forms ด้วย Technology BC4J กับ ADF Faces
บน Oracle JDeveloper 10g ก่อนนะครับ
เพื่อน ๆ จะได้เห็นภาพกว้างมากขึ้น ว่า ADF ทั้งหมด สามารถทำอะไรได้ขนาดไหน
เมื่อย้อนกลับไปอ่านเรื่อง BC4J ตอนที่ 1 และตอนที่ 2 จะยิ่งเข้าใจมากขึ้นครับ
Search form ใน ADF มีวิธีสร้างได้หลายแบบด้วยกัน
แต่ที่ผมใช้อยู่หลักๆ มีอยู่ 2 วิธี คือ
- EnterQuery/ExecuteQuery อันนี้ง่ายสุด สร้าง View Object เสร็จปุ๊บ ลากวางปั๊บ เสร็จเลย ( ... ง่ายขนาดนั้นเลยเหรอ ไว้มาเขียนในตอนต่อไป)
- Named Bind Variables วิธนี้สร้าง parameter ที่ต้องการใช้ search รอรับใน Querey SQL แล้วเราส่งค่า parameter จากหน้า form search ไปให้ ข้อดีของวิธีนี้ คือมีความยืดหยุ่นในการทำงานสูง ความสา เช่น เราสามารถเขียน query sql ให้ search เอาข้อมูลเฉพาะช่วงเวลาที่เราต้องการ
เริ่มกันเลย
มี table ชื่อ EMPLOYEE_TABLE ใน DB มีข้อมูล ดังนี้
ขั้นแรก
ผมทำการสร้าง view object (Read-only View เพราะเราใช้ในการ view ดูข้อมูลอย่างเดียว ไม่ได้ manage ข้อมูลใน DB จริงๆ) ชื่อ EmpolyeeView
View Object มี SQL querey ดังนี้
SELECT FIRST_NAME, LAST_NAME, EMAIL_ADDRESS
FROM employee_table
WHERE FIRST_NAME LIKE DECODE(:PfirstName,'',FIRST_NAME, :PfirstName)
AND LAST_NAME LIKE DECODE(:PlastName,'',LAST_NAME, :PlastName)
AND EMAIL_ADDRESS LIKE DECODE(:Pemail,'',EMAIL_ADDRESS, :Pemail)
ใน SQL query มี parameter ชื่อ PfirstName, PlastName และ Pemail รอรับค่าจากหน้า form search เพื่อเอาไปใช้ search ใน database
parameter จะมีเครื่องหมาย colon นำหน้า ในที่นี้ให้ถ้าไม่มีค่าอะไรส่งให้ parameter ก็ให้ search ให้เจอให้หมด โดยใช้ความสามารถของ sql querey => decode
นำ View Object ที่ได้มาใส่ใน AppModule เสร็จสิ้นขั้นตอนการสร้างชั้น Business
ขั้นต่อไปก็สร้างส่วนของชั้นหน้าจอ โดยวิธีการลากวาง
- ลาก View EmployeeView เลือกเป็น ADF Read-only table เป็นส่วนแสดงผลข้อมูลที่ search เจอ
- ลาก action ExecutewithParam ของ view EmployeeView ตัวเดิม เลือกเป็น from search
เสร็จแล้ว ลองเล่นดู
search ไม่ใส่ parameter อะไรจะเป็นการ search ข้อมูลทั้งหมด
search ข้อมููลโดยนามสกุลพนักงาน
Search ข้อมูล โดยเลือกชื่อพนักงานที่ขึ้นต้นด้วยอักษร 'ก'
เป็นอันเรียบร้อยครับ ไวดีมั้ยครับ?
ยังไงรอดูตอนถัดไปของผมนะครับ เด็ดดวง!
3 comments:
นามสกุลพนักงานแปลกดีนะจิ :P
มันง่ายขนาดนี้เลยรึ
ดีจังเลย
ยังมีทีเด็ดกว่านี้ครับ
ต้องคอยติดตาม post ของคุณ ji และคุณ Tangy ครับ
2 คนนี้เค้าเชี่ยวด้านนี้จริง ๆ
เคย implement project ใหญ่ ๆ ด้วย ADF มาแล้ว
แต่ถ้าคอยไม่ไหว ตามไปดูที่นี่ก่อนได้ครับ
http://www.oracle.com/technology/products/jdev/index.html
http://www.oracle.com/technology/products/adf/index.html
เนื้อหา ครบถ้วน หนักแน่น
Post a Comment