SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
1
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Database (ฐานข้อมูล)
คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกันซึ่งประกอบไปด้วยแฟ้มข้อมูล (File) ระเบียน (Record)
และเขตข้อมูล (Field) และถูกจัดการด้วยระบบเดียวกันโปรแกรม
คอมพิวเตอร์จะเข้าไปดึงข้อมูลที่ต้องการได้อย่างรวดเร็ว ซึ่งอาจเปรียบฐานข้อมูลเสมือนเป็น
electronic filing system
การเข้าถึงข้อมูลในฐานข้อมูลจึงจําเป็นต้องมีระบบการจัดการฐานข้อมูลมาช่วยเรียกว่า
Database management system (DBMS) ซึ่งจะช่วยให้ผู้ใช้สามารถจัดการกับข้อมูลตามความ
ต้องการได้ในหน่วยงานใหญ่ๆ อาจมีฐานข้อมูลมากกว่า 1 ฐานข้อมูลเช่นฐานข้อมูลบุคลากร
ฐานข้อมูลลูกค้าฐานข้อมูลสินค้าเป็นต้น
2
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
DAO (Data Access Objects)
เป็น application program interface (API)กับ Visual Basic ของ Microsoft ที่ให้ผู้เขียนโปรแกรมขอ
เข้าถึงฐานข้อมูล Microsoft Access ได้ DAO เป็นอินเตอร์เฟซแรกแบบ object-oriented กับฐานข้อมูลของ
เพื่อให้ programmer สามารถเข้าใช้งาน database ประเภทต่างๆ ได้โดยง่าย
JavaBean
ในการเขียน JSP สําหรับระบบใหญ่ๆ ส่วนใหญ่จะไม่นิยมใส่ java code ลงไปในไฟล์ JSP สิ่งที่ อยู่
ในไฟล์มักจะเป็นเพียง HTML code และค่าของ variables(data) ต่างๆ ที่ได้มาจาก JavaBeans เท่านั้น
ข้อดีของ การใช้ JavaBean
- สามารถทํางานได้บนทุกๆ ระบบปฏิบัติการ โดยที่ไม่ต้องทําการ Compile ใหม่ทุกครั้ง
- มีการ load ลงหน่วยความจําเพียงครั้งเดียวจนกว่าจะมีการเลิกใช้งานโปรแกรม
- สามารถนํา Component ที่เขียนมาแล้ว กลับมาใช้ใหม่ได้อีก
- สามารถนําความรู้ที่ใช้ในภาษา Java มาใช้ในการเขียนโปรแกรมร่วมด้วยได้
3
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
JSP & Servlet
JavaServer Pages (JSP) เป็นเทคโนโลยีการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ที่ช่วยให้การสร้างหน้าเว็บ
แบบไดนามิกและการประยุกต์ใช้ซึ่งทําได้โดยการฝังรหัส Java เป็น HTML, XML, DHTML, หรือประเภท
เอกสารอื่น ๆ เมื่อเว็บเบราว์เซอร์ทําให้คําขอไปยังที่เก็บโปรแกรม Java ซึ่งตามปกติจะเป็นเว็บเซิร์ฟเวอร์,
หน้าคงถูกแปลงอยู่เบื้องหลังและ แสดงเป็นเนื้อหาแบบไดนามิกกับตัว JSP
Servlets เป็น Componetด้านเซิร์ฟเวอร์ที่มีประสิทธิภาพ ในการพัฒนาโปรแกรมฝั่งเซิร์ฟเวอร์ ทํา
หน้าที่ จัดการกับ request และ response ต่างๆ และส่งค่าไปแสดงผลใน JSP
ภาพที่อธิบายถึงการทํางานของ Servlet และ JSP เมื่อมีผู้ใช้มาใช้งานหน้าเว็ปผ่าน เว็ปBrowserซึ่ง
การทํางานคือ เราจะมี Web server application ตัวนึงเช่น Apache Tomcat ไว้รองรับ request ต่างๆๆ แล้วก็
จะส่งต่อให้ container ไปเรียก servlet ให้ทํางานตามที่ request มาเช่น request ไปเพื่อขอข้อมูลลูกค้า servlet
ก็จะไปทําการดึงข้อมูลลูกค้าออกมา แล้วก็ส่งค่าต่างๆๆไปที่ JSP
4
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
เอสคิวแอล (SQL)
SQL ย่อมาจาก structured query language คือภาษาที่ใช้ในการเขียนโปรแกรม เพื่อจัดการกับ
ฐานข้อมูลโดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open system)
หมายถึงเราสามารถใช้คําสั่ง sql กับฐานข้อมูลชนิดใดก็ได้ และ คําสั่งงานเดียวกันเมื่อสั่งงานผ่าน ระบบ
ฐานข้อมูลที่แตกต่างกันจะได้ ผลลัพธ์เหมือนกัน ทําให้เราสามารถเลือกใช้ฐานข้อมูล ชนิดใดก็ได้โดยไม่ติด
ยึดกับฐานข้อมูลใดฐานข้อมูลหนึ่ง นอกจากนี้แล้ว SQL ยังเป็นชื่อโปรแกรมฐานข้อมูล ซึ่งโปรแกรม SQL
เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทํางานสูง
สามารถทํางานที่ซับซ้อนได้โดยใช้คําสั่งเพียงไม่กี่คําสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบ
ฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่ง
ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS ) ที่สนับสนุนการใช้คําสั่ง SQL เช่น Oracle ,
DB2, MS-SQL, MS-Access นอกจากนี้ภาษา SQL ถูกนํามาใช้เขียนร่วมกับโปรแกรมภาษาต่างๆ เช่น ภาษา
c/C++ , VisualBasicและ Java
ประเภทของคาสั่งภาษา SQL
1. ภาษานิยามข้อมูล(Data Definition Language : DDL)เป็นคําสั่งที่ใช้ในการสร้างฐานข้อมูล
กําหนดโครงสร้างข้อมูลว่ามี Attribute ใด ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี
คําสั่ง : CREATE,DROP,ALTER
ภาษา DDLประกอบด้วย 3 คําสั่งคือ
• คาสั่งการสร้าง (Create) ได้แก่ การสร้างตารางและอินเด็กซ์
CREATE TABLE <Table name>
( Attribute 1 Type 1,Attribute 2 Type 2 ,)
CREATE Unique Index on X<Table name>
เช่น
CREATE TABLE S11
(SNO CHAR(5) Not NULL,SNAME CHAR(10) ,STATUS integer)
CREATE Unique Index XS11 on S11(SNO)
5
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
• คาสั่งเปลี่ยนแปลงโครงสร้าง
ALTER TABLE <ชื่อตารางที่ตั้งขึ้น >
<คําสั่งการเปลี่ยนแปลง> (<ชื่อคอลัมน์ประเภทข้อมูล>);
ตัวอย่างเช่น
ALTER TABLE SUPPLIER
ADD (LAST_SNAME Char(10));
• คาสั่งยกเลิก (Drop) ต่างๆ
การลบโครงสร้างตาราง
DROP TABLE <ชื่อตารางที่ตั้งขึ้น >
2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML)หลังจากที่เราสร้าง
โครงสร้างฐานข้อมูลขึ้นแล้ว คําสั่งต่อไปในการป้ อนข้อมูลลงในฐานข้อมูลและเปลี่ยนแปลงข้อมูลู ในฐาน
ขอม้ลู โดยการใชภาษาสําหรับการจัดการข้อมูล (Data ManipulationLanguage-DML) ใชจัดการข้อมูล
ภายในตารางภายในฐานข้อมูล และภาษาแก้ไขเปลี่ยนแปลงตาราง
แบ่งออกเป็น 4 Statement คือ
• Select Statement :การเรียกหา (Retrieve) ข้อมูลจาก ฐานข้อมูล
• Insert Statement :การเพิ่มเติมข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล
• Delete Statement: การลบข้อมูลลงออกจาก ตาราง (Table) จาก ฐานข้อมูล
• Update Statement: การเปลี่ยนแปลงข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล
6
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL)ใช้เป็นภาษาที่ใช้ควบคุมระบบ
รักษาความปลอดภัย ของฐานข้อมูล ประกอบด้วยคําสั่ง 2 คําสั่งคือ
• คําสั่งGRANT เป็นคําสั่งที่ใช้กําหนดสิทธิให้กับผู้ใช้แต่ละคนให้มีสิทธกระทําการใดกับข้อมูลเช่น
การเพิ่มข้อมูล การแก้ไข หรือ การลบข้อมูลในตารางใดบ้าง
• คําสั่งREVOKE เป็นคําสั่งให้มีการยกเลิกสิทธนั้นหลังจากที่ได้GRANT แล้ว
ประโยชน์ของภาษา SQL
1. สร้างฐานข้อมูลและ ตาราง
2. สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล
3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล
คาสั่งเพิ่มข้อมูล (Insert Statement)
Insert Structure :: การเพิ่มข้อมูลทุกคอลัมน์ ที่ได้สร้างไว้
Subject : การเพิ่มข้อมูลทุกคอลัมน์ ที่ได้สร้างไว้
syntax : INSERT INTO table_name
VALUES ( 'value_1', 'value_2', ..., 'value_n' );
comment : INSERT INTO person
VALUES ( 1, 'bamboo', 'labcode' );
Insert Structure :: การเพิ่มข้อมูลเฉพาะคอลัมน์ ที่กาหนด
Subject : การเพิ่มข้อมูลเฉพาะคอลัมน์ ที่กําหนด
syntax : INSERT INTO table_name ( column_name_1, column_name_2, ...,
column_name_n )
VALUES ( 'value_1', 'value_2', ..., 'value_n' );
comment : INSERT INTO person ( first_name, last_name )
VALUES ( 'bamboo', 'labcode' );
7
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Insert Structure :: การเพิ่มข้อมูลครั้งละหลาย record
Subject : การเพิ่มข้อมูลครั้งละหลาย record
Syntax : INSERT INTO table_name ( column_name_1, column_name_2, ...,
column_name_n )
VALUES ( 'value_1', 'value_2', ..., 'value_n' ),
( 'value_1', 'value_2', ..., 'value_n' ),
( 'value_1', 'value_2', ..., 'valuhttp://www.bamboolabcode.com/article/savee_n' );
comment : INSERT INTO person ( first_name, last_name )
VALUES ( 'bamboo', 'labcode' ),
( 'david', 'beckhame' ),
( 'micheal', 'owen' );
Insert Structure :: การเพิ่มข้อมูลครั้งละหลาย record
Subject : การเพิ่มข้อมูลครั้งละหลาย record
syntax : INSERT INTO table_name ( column_name_1, column_name_2, ...,
column_name_n )
VALUES ( 'value_1', 'value_2', ..., 'value_n' ),
( 'value_1', 'value_2', ..., 'value_n' ),
( 'value_1', 'value_2', ..., 'valuhttp://www.bamboolabcode.com/article/savee_n' );
comment : INSERT INTO person ( first_name, last_name )
VALUES ( 'bamboo', 'labcode' ),
( 'david', 'beckhame' ),
( 'micheal', 'owen' );
8
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Insert Structure :: การเพิ่มข้อมูล โดยข้อมูลได้จากการคัดลอกมาจากตารางอื่น
subject : การเพิ่มข้อมูล โดยข้อมูลได้จากการคัดลอกมาจากตารางอื่น
syntax : INSERT INTO table_name ( column_name_1, column_name_2, ...,
column_name_n )
SELECT column_name_1, column_name_2, ..., column_name_n
FROM table_name
WHERE condition;
comment : INSERT INTO customer ( id, customer_name, customer_sex )
select person_id, person_name, person_sex
FROM person
WHERE person_sex = 'man';
คําสั่งการเพิ่มข้อมูลในตารางจะใช้คําสั่ง INSERT จะมีอยู่ 2 รูปแบบคือ การเพิ่มข้อมูล
เข้าไปทีละแถว และ การเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคําสั่งค้นหาข้อมูล
คําสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERTเข้าไปโดยตรง รูปแบบของคําสั่งเป็น
ดังนี้
INSERT INTO Tablename (column 1, column 2,…)
VALUES ( 'Value1', 'Value2', 'Value..n' )"
INSERT INTO เป็นคําสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่มข้อมูล
tablename หมายถึงชื่อของตารางที่จะทําการเพิ่มข้อมูล
column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล
Value1 หมายถึงค่าต่างๆที่จะเพิ่มให้กับฟิลด์นั้นๆ
9
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
พารามิเตอร์ค่าข้อมูลนั้น คือ ค่าของข้อมูลที่เราจะกําหนด ให้แต่ละคอลัมน์ โดยเรียง
ตามลําดับที่ปรากฏในตาราง ซึ่งต้องเป็นไปตามเงื่อนไขดังนี้
ค่าของข้อมูลแต่ละคอลัมน์ต้องคั่นด้วยเครื่องหมาย ,ค่าของข้อมูลนั้นต้องมีชนิดที่ตรงกัน
กับชนิดของข้อมูลของคอลัมน์
ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตารางลูกค้า
INSERT INTO SALESTAB
VALUES( 1001, “Chaiwat”, “Bangkok”,0.12);
ผลของคําสั่งนี้ จะมีข้อมูลปรากฏในทุกคอลัมน์ในตารางพนักงานขายดังนี้
SALENO SALENAME ADDRESS SALECOM
1001 Chaiwat Bangkok 0.12
ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลบางคอลัมน์ เช่น ชื่อเมือง Bangkok ชื่อลูกค้า Arlee และ
หมายเลขลูกค้า 2001 ลงในตารางลูกค้า ใช้คําสั่งดังนี้
INSERT INTO CUSTOMERSTAB(ADDRESS,CUSNAME,CUSNO)
VALUES( 'Bangkok','Arlee', 2001);
ผลของคําสั่งในตารางลูกค้า จะทําให้คอลัมน์ ADDRESS มีค่าเป็น Bangkok คอลัมน์
CUSNAME จะมีค่าเป็น Arlee คอลัมน์ CUSNO จะมีค่าเป็น 2001ดังนี้
CUSNO CUSNAME ADDRESS RATING SALENO
2001 Arlee Bangkok
จะเห็นว่าไม่ได้ใส่ค่าในคอลัมน์ RATING และ SALENO ไว้ดังนั้นทั้งสองคอลัมน์นี้จะ
มีค่าเป็น NULL โดยอัตโนมัติ
10
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
คําสั่งการเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคําสั่งค้นหาข้อมูล ในภาษา SQL สามารถ
ใช้คําสั่ง INSERT ในการนําค่าหรือหาค่าจากตารางหนึ่งแล้วไปใส่ไว้ในอีกตาราหนึ่งได้โดยได้
ค่านั้นมาจากการสอบถามข้อมูล รูปแบบเป็นดังนี้
INSERT INTO Tablename (column 1, column 2,…)
SELECT statement;
INSERT INTO <table name>[(column 1, column 2,…)]
SELECT statement;
INSERT INTO เป็นคําสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่มข้อมูล
tablename หมายถึงชื่อของตารางที่จะทําการเพิ่มข้อมูล
column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล
SELECT statement ประโยคคําสั่ง SELECTที่ต้องการข้อมูลอีกตารางหนึ่ง
ตัวอย่าง ถ้าต้องการใส่ข้อมูลพนักงานลงในตาราง BANGKOKSTAFF โดยข้อมูลที่จะ
ใส่ลงไปนั้นได้มาจากตารางพนักงานขายที่อาศัยอยู่ใน “Bangkok“
INSERT INTO BANGKOKSTAFF
SELECT *
FROM SALESTAB
WHERE ADDRESS = ‘Bangkok’;
11
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
ผลของคําสั่งนี้จะทําให้ได้ข้อมูลพนักงานที่อยู่ในเมือง Bangkok ( ADDRESS =
‘Bangkok’) ทั้งหมดไปใส่ไว้ในตาราง BANGKOKSTAFF โดยตาราง BANGKOKSTAFF ได้
ถูกสร้างไว้แล้วด้วยคําสั่ง CREATE TABLE ในการสร้างตาราง BANGKOKSTAFF จะต้อง
สร้างให้มี 4 คอลัมน์และมีชนิดข้อมูลตรงกับคอลัมน์ของตารางพนักงานขาย (โดยไม่จําเป็นต้อง
มีชื่อคอลัมน์เหมือนกัน)
12
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
วิธีการสร้างตารางในฐานข้อมูล โดยใช้Navicat
1.คลิกขวาที่ Connection ชื่อ MyHostแล้วสร้างฐานข้อมูล โดยเข้าไปเลือกที่ New Database…
2.ตั้งชื่อ Databaseชื่อ cartoonbookกําหนด Character set เป็น utf8 – UTF-8 Unicode และ Collation เป็น
utf8_genral_ci เพื่อให้ฐานข้อมูลรองรับภาษาไทยได้
13
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3.สร้างตารางของฐานข้อมูล โดยดับเบิ้ลคลิกไปที่ฐานข้อมูลที่สร้างขึ้น แล้วคลิกขวาที่ Table เลือก New table
4.จากนั้นจะได้ตารางดังรูป
14
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
5.สร้าง Fields ชื่อ member_id เพื่ออ้างอิงข้อมูล และกําหนดค่าต่างๆดังนี้
 Type กําหนดชนิดฟิลด์เป็น int
 Length กําหนดขนาดฟิลด์ตามความต้องการ
 Decimals กําหนดจํานวนหลักตัวเลข หลังจุดทศนิยม (กรณีที่เลือกฟิลด์เป็นชนิดตัวเลขทศนิยมเท่านั้น
 Allow Null ติ๊กถูกคือ อนุญาตให้ฟิลด์นี้เป็นค่าว่างได้แต่ถ้าไม่ติ๊กก็เท่ากับห้ามมีค่าว่าง
ช่องว่าง กาหนดฟิลด์เป็น ไพรมารีคีย์
6.สร้าง Fields ต่างๆ ตามข้อมูลที่ต้องการจัดเก็บลงบนฐานข้อมูล
15
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7.เมื่อสร้าง Fields เสร็จแล้ว ให้กด Saveและกําหนดชื่อตาราง
8.หน้าต่างของตารางฐานข้อมูล ที่สร้างขึ้น
16
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
การเพิ่มข้อมูลในฐานข้อมูลด้วยภาษา JSP และ SQL
- การสร้าง Class Beanเพื่อรับส่งข้อมูล
1. สร้าง Package ใหม่ขึ้นมา โดยคลิกที่ Java Resources แล้วคลิกขวาที่ srcเข้าไปที่New >Package
2.ตั้งชื่อ Package ชื่อ com.model
17
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3.สร้าง Class ในPackagecom.model
4.ตั้งชื่อ Class ชื่อ MembersBean
18
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
5.ประกาศตัวแปรที่ต้องการจะเก็บ
6.สร้าง getters และ setters ขึ้นมา โดยคลิกขวาที่บรรทัดข้างล่างของการประกาศตัวแปร เลือกไปที่ source >
Generate Getters and Setters
19
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7.เลือก Select All เพื่อ Generate ทุกตัว
8.หลังจาก Generate เสร็จจะได้ดังรูป
20
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
- การสร้าง Class DAO เพื่อติดต่อกับ DataBase
1. สร้าง Package ใหม่ตามรูป
2.ตั้งชื่อ package ชื่อcom.manager
21
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3. สร้าง class ใน package com.manager
4. ตั้งชื่อ class ชื่อMemberDAO
22
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
5.ประกาศตัวแปรใน class MemberDAO
6.สร้างเมธอด addMembersในคลาส MemberDAOเพื่อทําหน้าที่ Insert ข้อมูลไปเก็บใน database เมื่อมีการ
เพิ่มข้อมูล
23
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7. การเรียกใช้ method createConnection()จาก class DBConnect และการเพิ่มการกระทําตามๆที่ต้องการไป
เก็บใน Database
24
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
- การเขียนCode ใน Servlet
1.ประกาศ Object memของ Class MembersBeanเพื่อเอาไว้รับค่า และเพื่อเรียกใช้เมธอดหรือตัวแปรใน
Class MembersBean
2.ประกาศ Object memdaoของ Class MembersDAOเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersDAO
25
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Code Class MembersBean
packagecom.model;
publicclassMembersBean {
privateintmember_id ;
private String member_username;
private String member_password ;
private String member_firstname ;
private String member_lastname ;
private String member_sex ;
private String member_cartoon[] ;
private String member_address ;
private String member_county ;
private String member_phone ;
private String member_email ;
private String member_image ;
publicintgetMember_id() {
returnmember_id;
}
publicvoidsetMember_id(intmember_id) {
this.member_id = member_id;
}
public String getMember_username() {
returnmember_username;
}
publicvoidsetMember_username(String member_username) {
this.member_username = member_username;
}
public String getMember_password() {
returnmember_password;
}
publicvoidsetMember_password(String member_password) {
this.member_password = member_password;
}
public String getMember_firstname() {
returnmember_firstname;
}
publicvoidsetMember_firstname(String member_firstname) {
this.member_firstname = member_firstname;
}
public String getMember_lastname() {
returnmember_lastname;
}
publicvoidsetMember_lastname(String member_lastname) {
this.member_lastname = member_lastname;
}
public String getMember_sex() {
26
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
returnmember_sex;
}
publicvoidsetMember_sex(String member_sex) {
this.member_sex = member_sex;
}
public String[] getMember_cartoon() {
returnmember_cartoon;
}
publicvoidsetMember_cartoon(String[] member_cartoon) {
this.member_cartoon = member_cartoon;
}
public String getMember_address() {
returnmember_address;
}
publicvoidsetMember_address(String member_address) {
this.member_address = member_address;
}
public String getMember_county() {
returnmember_county;
}
publicvoidsetMember_county(String member_county) {
this.member_county = member_county;
}
public String getMember_phone() {
returnmember_phone;
}
publicvoidsetMember_phone(String member_phone) {
this.member_phone = member_phone;
}
public String getMember_email() {
returnmember_email;
}
publicvoidsetMember_email(String member_email) {
this.member_email = member_email;
}
public String getMember_image() {
returnmember_image;
}
publicvoidsetMember_image(String member_image) {
this.member_image = member_image;
}
}
27
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Code Class MemberDAO
packagecom.manager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importcom.controller.DBConnect;
importcom.model.MembersBean;
public class MemberDAO {
staticDBConnectdbc = new DBConnect();
static Statement stmt;
public static booleanaddMembers(MembersBeanmem){
String sql = "INSERT INTO
membersbook(member_username,member_password,member_firstname," +
"member_lastname,member_sex,member_address,member_county," +
"member_phone,member_email,member_image) " +
"VALUES('"+mem.getMember_username()+"','"+mem.getMember_passwo
rd()+"'" +",'"+mem.getMember_firstname()+
"','"+mem.getMember_lastname()+"'"
+",'"+mem.getMember_sex()+"','"+mem.getMember_address()+
"','"+mem.getMember_county()+"'"
+",'"+mem.getMember_phone()+"','"+mem.getMember_email()+
"','"+mem.getMember_image()+"')";
try{
dbc.createConnection();
stmt = dbc.getStatement();
stmt.executeUpdate(sql);
}catch (SQLException ex){
ex.printStackTrace();
return false;
}
return true;
}
}
28
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Code Class CartoonBookServlet
packagecom.controller;
importjava.io.IOException;
importjavax.servlet.RequestDispatcher;
importjavax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.manager.MemberDAO;
importcom.model.MembersBean;
/**
* Servlet implementation class CartoonBookServlet
*/
@WebServlet("/CartoonBookServlet")
public class CartoonBookServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
publicCartoonBookServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
29
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
String firstname = request.getParameter("firstname");
String lastname = request.getParameter("lastname");
String sex = request.getParameter("sex");
String cartoon[] = request.getParameterValues("cartoon");
String address = request.getParameter("address");
String county = request.getParameter("county");
String phone = request.getParameter("phone");
String email = request.getParameter("email");
String image = request.getParameter("image");
String page = "ProfileCartoonBook.jsp";
System.out.println("username"+username);
System.out.println("password"+password);
System.out.println("firstname"+firstname);
System.out.println("lastname"+lastname);
System.out.println("sex"+sex);
System.out.println("cartoon"+cartoon);
System.out.println("address"+address);
System.out.println("county"+county);
System.out.println("phone"+phone);
System.out.println("email"+email);
System.out.println("image"+image);
MembersBeanmem = new MembersBean();
mem.setMember_username(username);
mem.setMember_password(password);
mem.setMember_firstname(firstname);
mem.setMember_lastname(lastname);
mem.setMember_sex(sex);
mem.setMember_cartoon(cartoon);
mem.setMember_address(address);
mem.setMember_county(county);
mem.setMember_phone(phone);
30
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
mem.setMember_email(email);
mem.setMember_image(image);
MemberDAOmemdao = new MemberDAO();
memdao.addMembers(mem);
RequestDispatcher dispatcher =
request.getRequestDispatcher(page);
if(dispatcher != null){
dispatcher.forward(request, response);
System.out.println("send coeplete");
}
}
}
31
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
ตัวอย่างการใช้งาน
1. Run ในหน้า JSP กรอกข้อมูลสมัครชิก
2. เมื่อกดตกลงแล้ว ข้อมูลก็จะมาแสดงหน้านี้ และข้อมูลทั้งหมดก็จะเก็บลงในตาราง Databaseดังรูป
32
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3. ข้อมูลสมาชิกได้เก็บลงใน Database เรียบร้อยแล้ว และ member_id ก็เป็นตัวเรียงลําดับ
ของสมาชิกที่เข้ามาสมัครก่อนหลัง

Contenu connexe

Tendances

คำสั่ง Sql เบื้องต้น(create db)
คำสั่ง Sql เบื้องต้น(create db)คำสั่ง Sql เบื้องต้น(create db)
คำสั่ง Sql เบื้องต้น(create db)Nattipong Siangyen
 
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010krunueng1
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4nunzaza
 
Sql theory
Sql theorySql theory
Sql theoryalfaton
 
ใบความรู้ที่5 ตาราง Table
ใบความรู้ที่5 ตาราง  Tableใบความรู้ที่5 ตาราง  Table
ใบความรู้ที่5 ตาราง Tablekrunueng1
 
Assignment 2 of Database (Database Security)
Assignment 2 of Database (Database Security)Assignment 2 of Database (Database Security)
Assignment 2 of Database (Database Security)Aey Unthika
 
บทที่ 9
บทที่ 9บทที่ 9
บทที่ 9maysasithon
 
3.นำเข้าข้อมูลpostgis
3.นำเข้าข้อมูลpostgis3.นำเข้าข้อมูลpostgis
3.นำเข้าข้อมูลpostgisWanSurang FK
 
การตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draftการตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draftN/A
 

Tendances (15)

คำสั่ง Sql เบื้องต้น(create db)
คำสั่ง Sql เบื้องต้น(create db)คำสั่ง Sql เบื้องต้น(create db)
คำสั่ง Sql เบื้องต้น(create db)
 
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4
 
Sql theory
Sql theorySql theory
Sql theory
 
ใบความรู้ที่5 ตาราง Table
ใบความรู้ที่5 ตาราง  Tableใบความรู้ที่5 ตาราง  Table
ใบความรู้ที่5 ตาราง Table
 
Php mysql
Php mysqlPhp mysql
Php mysql
 
Database Tuning for e-Learning
Database Tuning for e-LearningDatabase Tuning for e-Learning
Database Tuning for e-Learning
 
9.1 9.10
9.1  9.109.1  9.10
9.1 9.10
 
php5new
php5newphp5new
php5new
 
บทที่6
บทที่6บทที่6
บทที่6
 
Assignment 2 of Database (Database Security)
Assignment 2 of Database (Database Security)Assignment 2 of Database (Database Security)
Assignment 2 of Database (Database Security)
 
บทที่ 9
บทที่ 9บทที่ 9
บทที่ 9
 
3.นำเข้าข้อมูลpostgis
3.นำเข้าข้อมูลpostgis3.นำเข้าข้อมูลpostgis
3.นำเข้าข้อมูลpostgis
 
การตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draftการตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draft
 
Unit5
Unit5Unit5
Unit5
 

En vedette (8)

lesson3 JSP
lesson3 JSPlesson3 JSP
lesson3 JSP
 
Java Web Programming (JSP/Servlet) Using Eclipse and Tomcat
Java Web Programming (JSP/Servlet) Using  Eclipse and TomcatJava Web Programming (JSP/Servlet) Using  Eclipse and Tomcat
Java Web Programming (JSP/Servlet) Using Eclipse and Tomcat
 
lesson2 JSP
lesson2 JSPlesson2 JSP
lesson2 JSP
 
lesson1 JSP
lesson1 JSPlesson1 JSP
lesson1 JSP
 
lesson4 JSP
lesson4 JSPlesson4 JSP
lesson4 JSP
 
Jsp
JspJsp
Jsp
 
ภาษา Jsp
ภาษา Jspภาษา Jsp
ภาษา Jsp
 
Java Web programming Using NetBeans
Java Web programming Using NetBeansJava Web programming Using NetBeans
Java Web programming Using NetBeans
 

Similaire à lesson4 JSP

Javacentrix com chap10-0
Javacentrix com chap10-0Javacentrix com chap10-0
Javacentrix com chap10-0Theeravaj Tum
 
ตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรมตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรมrubtumproject.com
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to DatabaseOpas Kaewtai
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to DatabaseOpas Kaewtai
 
Database Review for Midterm Exam
Database Review for Midterm ExamDatabase Review for Midterm Exam
Database Review for Midterm Examkunemata
 
บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...
บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...
บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...Sarawut Panchon
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadminskiats
 
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลบทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลRungnapa Rungnapa
 
บทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนบทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนSrion Janeprapapong
 
บทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวาบทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวาKukkik Kanya
 

Similaire à lesson4 JSP (20)

Sql ta2
Sql ta2Sql ta2
Sql ta2
 
DML
DMLDML
DML
 
Sql ta2
Sql ta2Sql ta2
Sql ta2
 
Javacentrix com chap10-0
Javacentrix com chap10-0Javacentrix com chap10-0
Javacentrix com chap10-0
 
Dw ch08 display_records
Dw ch08 display_recordsDw ch08 display_records
Dw ch08 display_records
 
ตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรมตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรม
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Database Review for Midterm Exam
Database Review for Midterm ExamDatabase Review for Midterm Exam
Database Review for Midterm Exam
 
Database analysis &amp; pivot table
Database analysis &amp; pivot tableDatabase analysis &amp; pivot table
Database analysis &amp; pivot table
 
บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...
บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...
บทที่ 2 (21 02-56) okรันเลขแล้ว(แก้เหมายเลขหน้าด้วย ตั้งแต่หน้า 9 เป็นต้นไป )...
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadmin
 
Ssis
SsisSsis
Ssis
 
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลบทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
 
บทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนบทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืน
 
บทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวาบทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวา
 
DataSet
DataSetDataSet
DataSet
 
Ssis
SsisSsis
Ssis
 
Ssis
SsisSsis
Ssis
 
Database
DatabaseDatabase
Database
 

Plus de Kukik Kanoknuan (6)

lesson6
lesson6lesson6
lesson6
 
lesson5 JSP
lesson5 JSPlesson5 JSP
lesson5 JSP
 
lesson5 JSP
lesson5 JSPlesson5 JSP
lesson5 JSP
 
lesson3 JSP
lesson3 JSPlesson3 JSP
lesson3 JSP
 
lesson2 JSP
lesson2 JSPlesson2 JSP
lesson2 JSP
 
lesson1 JSP
lesson1 JSPlesson1 JSP
lesson1 JSP
 

lesson4 JSP

  • 1. 1 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Database (ฐานข้อมูล) คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกันซึ่งประกอบไปด้วยแฟ้มข้อมูล (File) ระเบียน (Record) และเขตข้อมูล (Field) และถูกจัดการด้วยระบบเดียวกันโปรแกรม คอมพิวเตอร์จะเข้าไปดึงข้อมูลที่ต้องการได้อย่างรวดเร็ว ซึ่งอาจเปรียบฐานข้อมูลเสมือนเป็น electronic filing system การเข้าถึงข้อมูลในฐานข้อมูลจึงจําเป็นต้องมีระบบการจัดการฐานข้อมูลมาช่วยเรียกว่า Database management system (DBMS) ซึ่งจะช่วยให้ผู้ใช้สามารถจัดการกับข้อมูลตามความ ต้องการได้ในหน่วยงานใหญ่ๆ อาจมีฐานข้อมูลมากกว่า 1 ฐานข้อมูลเช่นฐานข้อมูลบุคลากร ฐานข้อมูลลูกค้าฐานข้อมูลสินค้าเป็นต้น
  • 2. 2 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL DAO (Data Access Objects) เป็น application program interface (API)กับ Visual Basic ของ Microsoft ที่ให้ผู้เขียนโปรแกรมขอ เข้าถึงฐานข้อมูล Microsoft Access ได้ DAO เป็นอินเตอร์เฟซแรกแบบ object-oriented กับฐานข้อมูลของ เพื่อให้ programmer สามารถเข้าใช้งาน database ประเภทต่างๆ ได้โดยง่าย JavaBean ในการเขียน JSP สําหรับระบบใหญ่ๆ ส่วนใหญ่จะไม่นิยมใส่ java code ลงไปในไฟล์ JSP สิ่งที่ อยู่ ในไฟล์มักจะเป็นเพียง HTML code และค่าของ variables(data) ต่างๆ ที่ได้มาจาก JavaBeans เท่านั้น ข้อดีของ การใช้ JavaBean - สามารถทํางานได้บนทุกๆ ระบบปฏิบัติการ โดยที่ไม่ต้องทําการ Compile ใหม่ทุกครั้ง - มีการ load ลงหน่วยความจําเพียงครั้งเดียวจนกว่าจะมีการเลิกใช้งานโปรแกรม - สามารถนํา Component ที่เขียนมาแล้ว กลับมาใช้ใหม่ได้อีก - สามารถนําความรู้ที่ใช้ในภาษา Java มาใช้ในการเขียนโปรแกรมร่วมด้วยได้
  • 3. 3 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL JSP & Servlet JavaServer Pages (JSP) เป็นเทคโนโลยีการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ที่ช่วยให้การสร้างหน้าเว็บ แบบไดนามิกและการประยุกต์ใช้ซึ่งทําได้โดยการฝังรหัส Java เป็น HTML, XML, DHTML, หรือประเภท เอกสารอื่น ๆ เมื่อเว็บเบราว์เซอร์ทําให้คําขอไปยังที่เก็บโปรแกรม Java ซึ่งตามปกติจะเป็นเว็บเซิร์ฟเวอร์, หน้าคงถูกแปลงอยู่เบื้องหลังและ แสดงเป็นเนื้อหาแบบไดนามิกกับตัว JSP Servlets เป็น Componetด้านเซิร์ฟเวอร์ที่มีประสิทธิภาพ ในการพัฒนาโปรแกรมฝั่งเซิร์ฟเวอร์ ทํา หน้าที่ จัดการกับ request และ response ต่างๆ และส่งค่าไปแสดงผลใน JSP ภาพที่อธิบายถึงการทํางานของ Servlet และ JSP เมื่อมีผู้ใช้มาใช้งานหน้าเว็ปผ่าน เว็ปBrowserซึ่ง การทํางานคือ เราจะมี Web server application ตัวนึงเช่น Apache Tomcat ไว้รองรับ request ต่างๆๆ แล้วก็ จะส่งต่อให้ container ไปเรียก servlet ให้ทํางานตามที่ request มาเช่น request ไปเพื่อขอข้อมูลลูกค้า servlet ก็จะไปทําการดึงข้อมูลลูกค้าออกมา แล้วก็ส่งค่าต่างๆๆไปที่ JSP
  • 4. 4 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL เอสคิวแอล (SQL) SQL ย่อมาจาก structured query language คือภาษาที่ใช้ในการเขียนโปรแกรม เพื่อจัดการกับ ฐานข้อมูลโดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open system) หมายถึงเราสามารถใช้คําสั่ง sql กับฐานข้อมูลชนิดใดก็ได้ และ คําสั่งงานเดียวกันเมื่อสั่งงานผ่าน ระบบ ฐานข้อมูลที่แตกต่างกันจะได้ ผลลัพธ์เหมือนกัน ทําให้เราสามารถเลือกใช้ฐานข้อมูล ชนิดใดก็ได้โดยไม่ติด ยึดกับฐานข้อมูลใดฐานข้อมูลหนึ่ง นอกจากนี้แล้ว SQL ยังเป็นชื่อโปรแกรมฐานข้อมูล ซึ่งโปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทํางานสูง สามารถทํางานที่ซับซ้อนได้โดยใช้คําสั่งเพียงไม่กี่คําสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบ ฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่ง ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS ) ที่สนับสนุนการใช้คําสั่ง SQL เช่น Oracle , DB2, MS-SQL, MS-Access นอกจากนี้ภาษา SQL ถูกนํามาใช้เขียนร่วมกับโปรแกรมภาษาต่างๆ เช่น ภาษา c/C++ , VisualBasicและ Java ประเภทของคาสั่งภาษา SQL 1. ภาษานิยามข้อมูล(Data Definition Language : DDL)เป็นคําสั่งที่ใช้ในการสร้างฐานข้อมูล กําหนดโครงสร้างข้อมูลว่ามี Attribute ใด ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คําสั่ง : CREATE,DROP,ALTER ภาษา DDLประกอบด้วย 3 คําสั่งคือ • คาสั่งการสร้าง (Create) ได้แก่ การสร้างตารางและอินเด็กซ์ CREATE TABLE <Table name> ( Attribute 1 Type 1,Attribute 2 Type 2 ,) CREATE Unique Index on X<Table name> เช่น CREATE TABLE S11 (SNO CHAR(5) Not NULL,SNAME CHAR(10) ,STATUS integer) CREATE Unique Index XS11 on S11(SNO)
  • 5. 5 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL • คาสั่งเปลี่ยนแปลงโครงสร้าง ALTER TABLE <ชื่อตารางที่ตั้งขึ้น > <คําสั่งการเปลี่ยนแปลง> (<ชื่อคอลัมน์ประเภทข้อมูล>); ตัวอย่างเช่น ALTER TABLE SUPPLIER ADD (LAST_SNAME Char(10)); • คาสั่งยกเลิก (Drop) ต่างๆ การลบโครงสร้างตาราง DROP TABLE <ชื่อตารางที่ตั้งขึ้น > 2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML)หลังจากที่เราสร้าง โครงสร้างฐานข้อมูลขึ้นแล้ว คําสั่งต่อไปในการป้ อนข้อมูลลงในฐานข้อมูลและเปลี่ยนแปลงข้อมูลู ในฐาน ขอม้ลู โดยการใชภาษาสําหรับการจัดการข้อมูล (Data ManipulationLanguage-DML) ใชจัดการข้อมูล ภายในตารางภายในฐานข้อมูล และภาษาแก้ไขเปลี่ยนแปลงตาราง แบ่งออกเป็น 4 Statement คือ • Select Statement :การเรียกหา (Retrieve) ข้อมูลจาก ฐานข้อมูล • Insert Statement :การเพิ่มเติมข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล • Delete Statement: การลบข้อมูลลงออกจาก ตาราง (Table) จาก ฐานข้อมูล • Update Statement: การเปลี่ยนแปลงข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล
  • 6. 6 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3. ภาษาควบคุมข้อมูล (Data Control Language : DCL)ใช้เป็นภาษาที่ใช้ควบคุมระบบ รักษาความปลอดภัย ของฐานข้อมูล ประกอบด้วยคําสั่ง 2 คําสั่งคือ • คําสั่งGRANT เป็นคําสั่งที่ใช้กําหนดสิทธิให้กับผู้ใช้แต่ละคนให้มีสิทธกระทําการใดกับข้อมูลเช่น การเพิ่มข้อมูล การแก้ไข หรือ การลบข้อมูลในตารางใดบ้าง • คําสั่งREVOKE เป็นคําสั่งให้มีการยกเลิกสิทธนั้นหลังจากที่ได้GRANT แล้ว ประโยชน์ของภาษา SQL 1. สร้างฐานข้อมูลและ ตาราง 2. สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล 3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล คาสั่งเพิ่มข้อมูล (Insert Statement) Insert Structure :: การเพิ่มข้อมูลทุกคอลัมน์ ที่ได้สร้างไว้ Subject : การเพิ่มข้อมูลทุกคอลัมน์ ที่ได้สร้างไว้ syntax : INSERT INTO table_name VALUES ( 'value_1', 'value_2', ..., 'value_n' ); comment : INSERT INTO person VALUES ( 1, 'bamboo', 'labcode' ); Insert Structure :: การเพิ่มข้อมูลเฉพาะคอลัมน์ ที่กาหนด Subject : การเพิ่มข้อมูลเฉพาะคอลัมน์ ที่กําหนด syntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n ) VALUES ( 'value_1', 'value_2', ..., 'value_n' ); comment : INSERT INTO person ( first_name, last_name ) VALUES ( 'bamboo', 'labcode' );
  • 7. 7 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Insert Structure :: การเพิ่มข้อมูลครั้งละหลาย record Subject : การเพิ่มข้อมูลครั้งละหลาย record Syntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n ) VALUES ( 'value_1', 'value_2', ..., 'value_n' ), ( 'value_1', 'value_2', ..., 'value_n' ), ( 'value_1', 'value_2', ..., 'valuhttp://www.bamboolabcode.com/article/savee_n' ); comment : INSERT INTO person ( first_name, last_name ) VALUES ( 'bamboo', 'labcode' ), ( 'david', 'beckhame' ), ( 'micheal', 'owen' ); Insert Structure :: การเพิ่มข้อมูลครั้งละหลาย record Subject : การเพิ่มข้อมูลครั้งละหลาย record syntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n ) VALUES ( 'value_1', 'value_2', ..., 'value_n' ), ( 'value_1', 'value_2', ..., 'value_n' ), ( 'value_1', 'value_2', ..., 'valuhttp://www.bamboolabcode.com/article/savee_n' ); comment : INSERT INTO person ( first_name, last_name ) VALUES ( 'bamboo', 'labcode' ), ( 'david', 'beckhame' ), ( 'micheal', 'owen' );
  • 8. 8 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Insert Structure :: การเพิ่มข้อมูล โดยข้อมูลได้จากการคัดลอกมาจากตารางอื่น subject : การเพิ่มข้อมูล โดยข้อมูลได้จากการคัดลอกมาจากตารางอื่น syntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n ) SELECT column_name_1, column_name_2, ..., column_name_n FROM table_name WHERE condition; comment : INSERT INTO customer ( id, customer_name, customer_sex ) select person_id, person_name, person_sex FROM person WHERE person_sex = 'man'; คําสั่งการเพิ่มข้อมูลในตารางจะใช้คําสั่ง INSERT จะมีอยู่ 2 รูปแบบคือ การเพิ่มข้อมูล เข้าไปทีละแถว และ การเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคําสั่งค้นหาข้อมูล คําสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERTเข้าไปโดยตรง รูปแบบของคําสั่งเป็น ดังนี้ INSERT INTO Tablename (column 1, column 2,…) VALUES ( 'Value1', 'Value2', 'Value..n' )" INSERT INTO เป็นคําสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่มข้อมูล tablename หมายถึงชื่อของตารางที่จะทําการเพิ่มข้อมูล column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล Value1 หมายถึงค่าต่างๆที่จะเพิ่มให้กับฟิลด์นั้นๆ
  • 9. 9 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL พารามิเตอร์ค่าข้อมูลนั้น คือ ค่าของข้อมูลที่เราจะกําหนด ให้แต่ละคอลัมน์ โดยเรียง ตามลําดับที่ปรากฏในตาราง ซึ่งต้องเป็นไปตามเงื่อนไขดังนี้ ค่าของข้อมูลแต่ละคอลัมน์ต้องคั่นด้วยเครื่องหมาย ,ค่าของข้อมูลนั้นต้องมีชนิดที่ตรงกัน กับชนิดของข้อมูลของคอลัมน์ ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตารางลูกค้า INSERT INTO SALESTAB VALUES( 1001, “Chaiwat”, “Bangkok”,0.12); ผลของคําสั่งนี้ จะมีข้อมูลปรากฏในทุกคอลัมน์ในตารางพนักงานขายดังนี้ SALENO SALENAME ADDRESS SALECOM 1001 Chaiwat Bangkok 0.12 ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลบางคอลัมน์ เช่น ชื่อเมือง Bangkok ชื่อลูกค้า Arlee และ หมายเลขลูกค้า 2001 ลงในตารางลูกค้า ใช้คําสั่งดังนี้ INSERT INTO CUSTOMERSTAB(ADDRESS,CUSNAME,CUSNO) VALUES( 'Bangkok','Arlee', 2001); ผลของคําสั่งในตารางลูกค้า จะทําให้คอลัมน์ ADDRESS มีค่าเป็น Bangkok คอลัมน์ CUSNAME จะมีค่าเป็น Arlee คอลัมน์ CUSNO จะมีค่าเป็น 2001ดังนี้ CUSNO CUSNAME ADDRESS RATING SALENO 2001 Arlee Bangkok จะเห็นว่าไม่ได้ใส่ค่าในคอลัมน์ RATING และ SALENO ไว้ดังนั้นทั้งสองคอลัมน์นี้จะ มีค่าเป็น NULL โดยอัตโนมัติ
  • 10. 10 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL คําสั่งการเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคําสั่งค้นหาข้อมูล ในภาษา SQL สามารถ ใช้คําสั่ง INSERT ในการนําค่าหรือหาค่าจากตารางหนึ่งแล้วไปใส่ไว้ในอีกตาราหนึ่งได้โดยได้ ค่านั้นมาจากการสอบถามข้อมูล รูปแบบเป็นดังนี้ INSERT INTO Tablename (column 1, column 2,…) SELECT statement; INSERT INTO <table name>[(column 1, column 2,…)] SELECT statement; INSERT INTO เป็นคําสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่มข้อมูล tablename หมายถึงชื่อของตารางที่จะทําการเพิ่มข้อมูล column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล SELECT statement ประโยคคําสั่ง SELECTที่ต้องการข้อมูลอีกตารางหนึ่ง ตัวอย่าง ถ้าต้องการใส่ข้อมูลพนักงานลงในตาราง BANGKOKSTAFF โดยข้อมูลที่จะ ใส่ลงไปนั้นได้มาจากตารางพนักงานขายที่อาศัยอยู่ใน “Bangkok“ INSERT INTO BANGKOKSTAFF SELECT * FROM SALESTAB WHERE ADDRESS = ‘Bangkok’;
  • 11. 11 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL ผลของคําสั่งนี้จะทําให้ได้ข้อมูลพนักงานที่อยู่ในเมือง Bangkok ( ADDRESS = ‘Bangkok’) ทั้งหมดไปใส่ไว้ในตาราง BANGKOKSTAFF โดยตาราง BANGKOKSTAFF ได้ ถูกสร้างไว้แล้วด้วยคําสั่ง CREATE TABLE ในการสร้างตาราง BANGKOKSTAFF จะต้อง สร้างให้มี 4 คอลัมน์และมีชนิดข้อมูลตรงกับคอลัมน์ของตารางพนักงานขาย (โดยไม่จําเป็นต้อง มีชื่อคอลัมน์เหมือนกัน)
  • 12. 12 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL วิธีการสร้างตารางในฐานข้อมูล โดยใช้Navicat 1.คลิกขวาที่ Connection ชื่อ MyHostแล้วสร้างฐานข้อมูล โดยเข้าไปเลือกที่ New Database… 2.ตั้งชื่อ Databaseชื่อ cartoonbookกําหนด Character set เป็น utf8 – UTF-8 Unicode และ Collation เป็น utf8_genral_ci เพื่อให้ฐานข้อมูลรองรับภาษาไทยได้
  • 14. 14 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 5.สร้าง Fields ชื่อ member_id เพื่ออ้างอิงข้อมูล และกําหนดค่าต่างๆดังนี้  Type กําหนดชนิดฟิลด์เป็น int  Length กําหนดขนาดฟิลด์ตามความต้องการ  Decimals กําหนดจํานวนหลักตัวเลข หลังจุดทศนิยม (กรณีที่เลือกฟิลด์เป็นชนิดตัวเลขทศนิยมเท่านั้น  Allow Null ติ๊กถูกคือ อนุญาตให้ฟิลด์นี้เป็นค่าว่างได้แต่ถ้าไม่ติ๊กก็เท่ากับห้ามมีค่าว่าง ช่องว่าง กาหนดฟิลด์เป็น ไพรมารีคีย์ 6.สร้าง Fields ต่างๆ ตามข้อมูลที่ต้องการจัดเก็บลงบนฐานข้อมูล
  • 15. 15 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7.เมื่อสร้าง Fields เสร็จแล้ว ให้กด Saveและกําหนดชื่อตาราง 8.หน้าต่างของตารางฐานข้อมูล ที่สร้างขึ้น
  • 16. 16 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL การเพิ่มข้อมูลในฐานข้อมูลด้วยภาษา JSP และ SQL - การสร้าง Class Beanเพื่อรับส่งข้อมูล 1. สร้าง Package ใหม่ขึ้นมา โดยคลิกที่ Java Resources แล้วคลิกขวาที่ srcเข้าไปที่New >Package 2.ตั้งชื่อ Package ชื่อ com.model
  • 18. 18 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 5.ประกาศตัวแปรที่ต้องการจะเก็บ 6.สร้าง getters และ setters ขึ้นมา โดยคลิกขวาที่บรรทัดข้างล่างของการประกาศตัวแปร เลือกไปที่ source > Generate Getters and Setters
  • 19. 19 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7.เลือก Select All เพื่อ Generate ทุกตัว 8.หลังจาก Generate เสร็จจะได้ดังรูป
  • 20. 20 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL - การสร้าง Class DAO เพื่อติดต่อกับ DataBase 1. สร้าง Package ใหม่ตามรูป 2.ตั้งชื่อ package ชื่อcom.manager
  • 21. 21 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3. สร้าง class ใน package com.manager 4. ตั้งชื่อ class ชื่อMemberDAO
  • 22. 22 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 5.ประกาศตัวแปรใน class MemberDAO 6.สร้างเมธอด addMembersในคลาส MemberDAOเพื่อทําหน้าที่ Insert ข้อมูลไปเก็บใน database เมื่อมีการ เพิ่มข้อมูล
  • 23. 23 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7. การเรียกใช้ method createConnection()จาก class DBConnect และการเพิ่มการกระทําตามๆที่ต้องการไป เก็บใน Database
  • 24. 24 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL - การเขียนCode ใน Servlet 1.ประกาศ Object memของ Class MembersBeanเพื่อเอาไว้รับค่า และเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersBean 2.ประกาศ Object memdaoของ Class MembersDAOเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersDAO
  • 25. 25 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Code Class MembersBean packagecom.model; publicclassMembersBean { privateintmember_id ; private String member_username; private String member_password ; private String member_firstname ; private String member_lastname ; private String member_sex ; private String member_cartoon[] ; private String member_address ; private String member_county ; private String member_phone ; private String member_email ; private String member_image ; publicintgetMember_id() { returnmember_id; } publicvoidsetMember_id(intmember_id) { this.member_id = member_id; } public String getMember_username() { returnmember_username; } publicvoidsetMember_username(String member_username) { this.member_username = member_username; } public String getMember_password() { returnmember_password; } publicvoidsetMember_password(String member_password) { this.member_password = member_password; } public String getMember_firstname() { returnmember_firstname; } publicvoidsetMember_firstname(String member_firstname) { this.member_firstname = member_firstname; } public String getMember_lastname() { returnmember_lastname; } publicvoidsetMember_lastname(String member_lastname) { this.member_lastname = member_lastname; } public String getMember_sex() {
  • 26. 26 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL returnmember_sex; } publicvoidsetMember_sex(String member_sex) { this.member_sex = member_sex; } public String[] getMember_cartoon() { returnmember_cartoon; } publicvoidsetMember_cartoon(String[] member_cartoon) { this.member_cartoon = member_cartoon; } public String getMember_address() { returnmember_address; } publicvoidsetMember_address(String member_address) { this.member_address = member_address; } public String getMember_county() { returnmember_county; } publicvoidsetMember_county(String member_county) { this.member_county = member_county; } public String getMember_phone() { returnmember_phone; } publicvoidsetMember_phone(String member_phone) { this.member_phone = member_phone; } public String getMember_email() { returnmember_email; } publicvoidsetMember_email(String member_email) { this.member_email = member_email; } public String getMember_image() { returnmember_image; } publicvoidsetMember_image(String member_image) { this.member_image = member_image; } }
  • 27. 27 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Code Class MemberDAO packagecom.manager; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.sql.Statement; importcom.controller.DBConnect; importcom.model.MembersBean; public class MemberDAO { staticDBConnectdbc = new DBConnect(); static Statement stmt; public static booleanaddMembers(MembersBeanmem){ String sql = "INSERT INTO membersbook(member_username,member_password,member_firstname," + "member_lastname,member_sex,member_address,member_county," + "member_phone,member_email,member_image) " + "VALUES('"+mem.getMember_username()+"','"+mem.getMember_passwo rd()+"'" +",'"+mem.getMember_firstname()+ "','"+mem.getMember_lastname()+"'" +",'"+mem.getMember_sex()+"','"+mem.getMember_address()+ "','"+mem.getMember_county()+"'" +",'"+mem.getMember_phone()+"','"+mem.getMember_email()+ "','"+mem.getMember_image()+"')"; try{ dbc.createConnection(); stmt = dbc.getStatement(); stmt.executeUpdate(sql); }catch (SQLException ex){ ex.printStackTrace(); return false; } return true; } }
  • 28. 28 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Code Class CartoonBookServlet packagecom.controller; importjava.io.IOException; importjavax.servlet.RequestDispatcher; importjavax.servlet.ServletException; importjavax.servlet.annotation.WebServlet; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importcom.manager.MemberDAO; importcom.model.MembersBean; /** * Servlet implementation class CartoonBookServlet */ @WebServlet("/CartoonBookServlet") public class CartoonBookServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ publicCartoonBookServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
  • 29. 29 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); String firstname = request.getParameter("firstname"); String lastname = request.getParameter("lastname"); String sex = request.getParameter("sex"); String cartoon[] = request.getParameterValues("cartoon"); String address = request.getParameter("address"); String county = request.getParameter("county"); String phone = request.getParameter("phone"); String email = request.getParameter("email"); String image = request.getParameter("image"); String page = "ProfileCartoonBook.jsp"; System.out.println("username"+username); System.out.println("password"+password); System.out.println("firstname"+firstname); System.out.println("lastname"+lastname); System.out.println("sex"+sex); System.out.println("cartoon"+cartoon); System.out.println("address"+address); System.out.println("county"+county); System.out.println("phone"+phone); System.out.println("email"+email); System.out.println("image"+image); MembersBeanmem = new MembersBean(); mem.setMember_username(username); mem.setMember_password(password); mem.setMember_firstname(firstname); mem.setMember_lastname(lastname); mem.setMember_sex(sex); mem.setMember_cartoon(cartoon); mem.setMember_address(address); mem.setMember_county(county); mem.setMember_phone(phone);
  • 30. 30 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL mem.setMember_email(email); mem.setMember_image(image); MemberDAOmemdao = new MemberDAO(); memdao.addMembers(mem); RequestDispatcher dispatcher = request.getRequestDispatcher(page); if(dispatcher != null){ dispatcher.forward(request, response); System.out.println("send coeplete"); } } }
  • 31. 31 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL ตัวอย่างการใช้งาน 1. Run ในหน้า JSP กรอกข้อมูลสมัครชิก 2. เมื่อกดตกลงแล้ว ข้อมูลก็จะมาแสดงหน้านี้ และข้อมูลทั้งหมดก็จะเก็บลงในตาราง Databaseดังรูป
  • 32. 32 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3. ข้อมูลสมาชิกได้เก็บลงใน Database เรียบร้อยแล้ว และ member_id ก็เป็นตัวเรียงลําดับ ของสมาชิกที่เข้ามาสมัครก่อนหลัง