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 มาใช้ในการเขียนโปรแกรม
ร่วมด้วยได้
JSP & Servlet
JavaServer Pages (JSP) เป็นเทคโนโลยีการเขียนโปรแกรมฝั่ง
เซิร์ฟเวอร์ที่ช่วยให้การสร้างหน้าเว็บแบบไดนามิกและการประยุกต์ใช้
ซึ่งทําได้โดยการฝังรหัส Java เป็น HTML, XML, DHTML, หรือ
ประเภทเอกสารอื่น ๆ เมื่อเว็บเบราว์เซอร์ทําให้คําขอไปยังที่เก็บ
โปรแกรม Java ซึ่งตามปกติจะเป็นเว็บเซิร์ฟเวอร์, หน้าคงถูกแปลงอยู่
เบื้องหลังและ แสดงเป็นเนื้อหาแบบไดนามิกกับตัว JSP
3
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Servlets เป็น Componet ด้านเซิร์ฟเวอร์ที่มีประสิทธิภาพ ใน
การพัฒนาโปรแกรมฝั่งเซิร์ฟเวอร์ ทําหน้าที่ จัดการกับ request และ
response ต่างๆ และส่งค่าไปแสดงผลใน JSP
ภาพที่อธิบายถึงการทํางานของ Servlet และ JSP เมื่อมีผู้ใช้มา
ใช้งานหน้าเว็ปผ่าน เว็ป Browser ซึ่งการทํางานคือ เราจะมี Web
server application ตัวนึงเช่น Apache Tomcat ไว้รองรับ
request ต่างๆๆ แล้วก็จะส่งต่อให้ container ไปเรียก servlet ให้ทํา
งานตามที่ request มาเช่น request ไปเพื่อขอข้อมูลลูกค้า servlet ก็
จะไปทําการดึงข้อมูลลูกค้าออกมา แล้วก็ส่งค่าต่างๆๆไปที่ JSP
เอสคิวแอล (SQL)
SQL ย่อมาจาก structured query language คือภาษาที่ใช้
ในการเขียนโปรแกรม เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ เป็นภาษา
มาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open
4
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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 :: การเพิ่มข้อมูลเฉพาะคอลัมน์ ที่
7
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
กําหนด
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' );
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 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' );
9
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
คำาสั่งการเพิ่มข้อมูลในตารางจะใช้คำาสั่ง INSERT จะมีอยู่
2 รูปแบบคือ การเพิ่มข้อมูลเข้าไปทีละแถว และ การเพิ่มข้อมูล
โดยการดึงกลุ่มข้อมูลด้วยคำาสั่งค้นหาข้อมูล
คำาสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERT เข้าไป
โดยตรง รูปแบบของคำาสั่งเป็นดังนี้
INSERT INTO Tablename (column 1, column 2,…)
VALUES ( 'Value1', 'Value2', 'Value..n' )"
INSERT INTO เป็นคำาสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่ม
ข้อมูล
tablename หมายถึงชื่อของตารางที่จะทำาการเพิ่ม
ข้อมูล
column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล
Value1 หมายถึงค่าต่างๆที่จะเพิ่มให้กับฟิลด์นั้นๆ
พารามิเตอร์ค่าข้อมูลนั้น คือ ค่าของข้อมูลที่เราจะกำาหนด
ให้แต่ละคอลัมน์ โดยเรียงตามลำาดับที่ปรากฏในตาราง ซึ่งต้อง
เป็นไปตามเงื่อนไขดังนี้
ค่าของข้อมูลแต่ละคอลัมน์ต้องคั่นด้วยเครื่องหมาย ,ค่า
ของข้อมูลนั้นต้องมีชนิดที่ตรงกันกับชนิดของข้อมูลของคอลัมน์
ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตาราง
ลูกค้า
INSERT INTO SALESTAB
VALUES( 1001, “Chaiwat”, “Bangkok”,0.12);
ผลของคำาสั่งนี้ จะมีข้อมูลปรากฏในทุกคอลัมน์ในตาราง
พนักงานขายดังนี้
10
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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 โดยอัตโนมัติ
คำาสั่งการเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคำาสั่งค้นหา
ข้อมูล ในภาษา SQL สามารถใช้คำาสั่ง INSERT ในการนำาค่า
หรือหาค่าจากตารางหนึ่งแล้วไปใส่ไว้ในอีกตาราหนึ่งได้ โดย
ได้ค่านั้นมาจากการสอบถามข้อมูล รูปแบบเป็นดังนี้
INSERT INTO Tablename (column 1, column 2,…)
SELECT statement;
INSERT INTO <table name>[(column 1, column
2,…)]
11
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
SELECT statement;
INSERT INTO เป็นคำาสั่งที่ต้องมีทุกครั้งที่
ต้องการเพิ่มข้อมูล
tablename หมายถึงชื่อของตารางที่จะ
ทำาการเพิ่มข้อมูล
column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล
SELECT statement ประโยคคำาสั่ง SELECT ที่ต้องการ
ข้อมูลอีกตารางหนึ่ง
ตัวอย่าง ถ้าต้องการใส่ข้อมูลพนักงานลงในตาราง
BANGKOKSTAFF โดยข้อมูลที่จะใส่ลงไปนั้นได้มาจากตาราง
พนักงานขายที่อาศัยอยู่ใน “Bangkok“
INSERT INTO BANGKOKSTAFF
SELECT *
FROM SALESTAB
WHERE ADDRESS = ‘Bangkok’;
12
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
ผลของคำาสั่งนี้จะทำาให้ได้ข้อมูลพนักงานที่อยู่ในเมือง
Bangkok ( ADDRESS = ‘Bangkok’) ทั้งหมดไปใส่ไว้ใน
ตาราง BANGKOKSTAFF โดยตาราง BANGKOKSTAFF ได้
ถูกสร้างไว้แล้วด้วยคำาสั่ง CREATE TABLE ในการสร้างตาราง
BANGKOKSTAFF จะต้องสร้างให้มี 4 คอลัมน์และมีชนิด
ข้อมูลตรงกับคอลัมน์ของตารางพนักงานขาย (โดยไม่จำาเป็น
ต้องมีชื่อคอลัมน์เหมือนกัน)
วิธีการสร้างตารางในฐานข้อมูล โดย
ใช้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
5.ประกาศตัวแปรที่ต้องการจะเก็บ
18
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
6.สร้าง getters และ setters ขึ้นมา โดยคลิกขวาที่บรรทัดข้างล่าง
ของการประกาศตัวแปร เลือกไปที่ source > Generate Getters
and Setters
7.เลือก Select All เพื่อ Generate ทุกตัว
19
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
8.หลังจาก Generate เสร็จจะได้ดังรูป
- การสร้าง Class DAO เพื่อติดต่อกับ DataBase
1. สร้าง Package ใหม่ตามรูป
20
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
2.ตั้งชื่อ package ชื่อ com.manager
3. สร้าง class ใน package com.manager
21
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
4. ตั้งชื่อ class ชื่อ MemberDAO
5.ประกาศตัวแปรใน class MemberDAO
22
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
6.สร้างเมธอด addMembers ในคลาส MemberDAO เพื่อทำาหน้าที่
Insert ข้อมูลไปเก็บใน database เมื่อมีการเพิ่มข้อมูล
23
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7. การเรียกใช้ method createConnection()จาก class
DBConnect และการเพิ่มการกระทำาตามๆที่ต้องการไปเก็บใน
Database
- การเขียน Code ใน Servlet
24
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
1.ประกาศ Object mem ของ Class MembersBean เพื่อเอาไว้รับ
ค่า และเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersBean
2.ประกาศ Object memdao ของ Class MembersDAO เพื่อเรียก
ใช้เมธอดหรือตัวแปรใน Class MembersDAO
Code Class MembersBean
packagecom.model;
publicclassMembersBean {
25
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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() {
returnmember_sex;
}
publicvoidsetMember_sex(String member_sex) {
this.member_sex = member_sex;
}
26
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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;
}
}
Code Class MemberDAO
packagecom.manager;
importjava.sql.ResultSet;
27
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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_co
unty," +
"member_phone,member_email,member_image) " +
"VALUES('"+mem.getMember_username()
+"','"+mem.getMember_password()+"'" +",'"+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;
}
}
Code Class CartoonBookServlet
packagecom.controller;
importjava.io.IOException;
importjavax.servlet.RequestDispatcher;
28
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
29
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
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);
mem.setMember_email(email);
mem.setMember_image(image);
MemberDAOmemdao = new MemberDAO();
memdao.addMembers(mem);
30
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
RequestDispatcher dispatcher =
request.getRequestDispatcher(page);
if(dispatcher != null){
dispatcher.forward(request, response);
System.out.println("send coeplete");
}
}
}
ตัวอย่างการใช้งาน
1. Run ในหน้า JSP กรอกข้อมูลสมัครชิก
31
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
2. เมื่อกดตกลงแล้ว ข้อมูลก็จะมาแสดงหน้านี้ และข้อมูลทั้งหมดก็จะ
เก็บลงในตาราง Database ดังรูป
32
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3.ข้อมูลสมาชิกได้เก็บลงใน Database เรียบร้อยแล้ว และ
member_id ก็เป็นตัวเรียงลำาดับของสมาชิกที่เข้ามาสมัค
รก่อนหลัง

Contenu connexe

Tendances

Sql theory
Sql theorySql theory
Sql theoryalfaton
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4nunzaza
 
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010krunueng1
 
Javacentrix com chap10-0
Javacentrix com chap10-0Javacentrix com chap10-0
Javacentrix com chap10-0Theeravaj Tum
 
ใบความรู้ที่5 ตาราง Table
ใบความรู้ที่5 ตาราง  Tableใบความรู้ที่5 ตาราง  Table
ใบความรู้ที่5 ตาราง Tablekrunueng1
 
Lesson 2 ไฟล์ฐานข้อมูล
Lesson 2 ไฟล์ฐานข้อมูลLesson 2 ไฟล์ฐานข้อมูล
Lesson 2 ไฟล์ฐานข้อมูลErrorrrrr
 
51011221071
5101122107151011221071
51011221071Anp SeEk
 
การใช้อักษร
การใช้อักษรการใช้อักษร
การใช้อักษรWatuka Wannarun
 
Introduction to XML.
Introduction to XML.Introduction to XML.
Introduction to XML.Aey Unthika
 
ใช้งานโปรแกรม Microsoft word2007
ใช้งานโปรแกรม Microsoft word2007ใช้งานโปรแกรม Microsoft word2007
ใช้งานโปรแกรม Microsoft word2007tanongsak
 

Tendances (13)

Sql theory
Sql theorySql theory
Sql theory
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4
 
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
แนะนำการใช้โปรแกรมสำเร็จรูป Microsoft Access 2010
 
Javacentrix com chap10-0
Javacentrix com chap10-0Javacentrix com chap10-0
Javacentrix com chap10-0
 
Php mysql
Php mysqlPhp mysql
Php mysql
 
ใบความรู้ที่5 ตาราง Table
ใบความรู้ที่5 ตาราง  Tableใบความรู้ที่5 ตาราง  Table
ใบความรู้ที่5 ตาราง Table
 
Lesson 2 ไฟล์ฐานข้อมูล
Lesson 2 ไฟล์ฐานข้อมูลLesson 2 ไฟล์ฐานข้อมูล
Lesson 2 ไฟล์ฐานข้อมูล
 
Lesson6
Lesson6Lesson6
Lesson6
 
51011221071
5101122107151011221071
51011221071
 
การใช้อักษร
การใช้อักษรการใช้อักษร
การใช้อักษร
 
Introduction to XML.
Introduction to XML.Introduction to XML.
Introduction to XML.
 
php5new
php5newphp5new
php5new
 
ใช้งานโปรแกรม Microsoft word2007
ใช้งานโปรแกรม Microsoft word2007ใช้งานโปรแกรม Microsoft word2007
ใช้งานโปรแกรม Microsoft word2007
 

Similaire à การเพ มข_อม_ลลงฐานข_อม_ลด_วยภาษา jsp&sql

ตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรมตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรมrubtumproject.com
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadminskiats
 
การตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draftการตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draftN/A
 
Database Review for Midterm Exam
Database Review for Midterm ExamDatabase Review for Midterm Exam
Database Review for Midterm Examkunemata
 
สรุปกลุ่มที่ 1,2,3,5,6
สรุปกลุ่มที่ 1,2,3,5,6สรุปกลุ่มที่ 1,2,3,5,6
สรุปกลุ่มที่ 1,2,3,5,6Khanut Anusatsanakul
 
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลบทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลRungnapa Rungnapa
 
Spat Db 3 Intro Sql
Spat Db 3 Intro SqlSpat Db 3 Intro Sql
Spat Db 3 Intro Sqlphisan_chula
 

Similaire à การเพ มข_อม_ลลงฐานข_อม_ลด_วยภาษา jsp&sql (16)

Sql ta2
Sql ta2Sql ta2
Sql ta2
 
Sql ta2
Sql ta2Sql ta2
Sql ta2
 
ตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรมตัวอย่างเอกสารประกอบการสอนโปรแกรม
ตัวอย่างเอกสารประกอบการสอนโปรแกรม
 
Database analysis &amp; pivot table
Database analysis &amp; pivot tableDatabase analysis &amp; pivot table
Database analysis &amp; pivot table
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadmin
 
Ssis
SsisSsis
Ssis
 
Ssis
SsisSsis
Ssis
 
Ssis
SsisSsis
Ssis
 
การตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draftการตรวจเช็คฐานข้อมูล Oracle v1 draft
การตรวจเช็คฐานข้อมูล Oracle v1 draft
 
Database Review for Midterm Exam
Database Review for Midterm ExamDatabase Review for Midterm Exam
Database Review for Midterm Exam
 
บทที่6
บทที่6บทที่6
บทที่6
 
สรุปกลุ่มที่ 1,2,3,5,6
สรุปกลุ่มที่ 1,2,3,5,6สรุปกลุ่มที่ 1,2,3,5,6
สรุปกลุ่มที่ 1,2,3,5,6
 
SA Chapter 6
SA Chapter 6SA Chapter 6
SA Chapter 6
 
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลบทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
 
DataSet
DataSetDataSet
DataSet
 
Spat Db 3 Intro Sql
Spat Db 3 Intro SqlSpat Db 3 Intro Sql
Spat Db 3 Intro Sql
 

Plus de Bongza Naruk

รายงานพรีเซน Sessioncookie
รายงานพรีเซน Sessioncookieรายงานพรีเซน Sessioncookie
รายงานพรีเซน SessioncookieBongza Naruk
 
การเข ยนโปรแกรมต ดต_อฐานข_อม_ล
การเข ยนโปรแกรมต ดต_อฐานข_อม_ลการเข ยนโปรแกรมต ดต_อฐานข_อม_ล
การเข ยนโปรแกรมต ดต_อฐานข_อม_ลBongza Naruk
 
Sec.1 กล ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปร
Sec.1 กล  ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปรSec.1 กล  ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปร
Sec.1 กล ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปรBongza Naruk
 

Plus de Bongza Naruk (6)

รายงานพรีเซน Sessioncookie
รายงานพรีเซน Sessioncookieรายงานพรีเซน Sessioncookie
รายงานพรีเซน Sessioncookie
 
Jsp
JspJsp
Jsp
 
ภาษา Jsp
ภาษา Jspภาษา Jsp
ภาษา Jsp
 
การเข ยนโปรแกรมต ดต_อฐานข_อม_ล
การเข ยนโปรแกรมต ดต_อฐานข_อม_ลการเข ยนโปรแกรมต ดต_อฐานข_อม_ล
การเข ยนโปรแกรมต ดต_อฐานข_อม_ล
 
Update&delete
Update&deleteUpdate&delete
Update&delete
 
Sec.1 กล ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปร
Sec.1 กล  ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปรSec.1 กล  ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปร
Sec.1 กล ม 1 เร__องการสร_างแบบฟอร_มและการส_งค_าต_วแปร
 

การเพ มข_อม_ลลงฐานข_อม_ลด_วยภาษา jsp&sql

  • 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 มาใช้ในการเขียนโปรแกรม ร่วมด้วยได้ JSP & Servlet JavaServer Pages (JSP) เป็นเทคโนโลยีการเขียนโปรแกรมฝั่ง เซิร์ฟเวอร์ที่ช่วยให้การสร้างหน้าเว็บแบบไดนามิกและการประยุกต์ใช้ ซึ่งทําได้โดยการฝังรหัส Java เป็น HTML, XML, DHTML, หรือ ประเภทเอกสารอื่น ๆ เมื่อเว็บเบราว์เซอร์ทําให้คําขอไปยังที่เก็บ โปรแกรม Java ซึ่งตามปกติจะเป็นเว็บเซิร์ฟเวอร์, หน้าคงถูกแปลงอยู่ เบื้องหลังและ แสดงเป็นเนื้อหาแบบไดนามิกกับตัว JSP
  • 3. 3 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Servlets เป็น Componet ด้านเซิร์ฟเวอร์ที่มีประสิทธิภาพ ใน การพัฒนาโปรแกรมฝั่งเซิร์ฟเวอร์ ทําหน้าที่ จัดการกับ request และ response ต่างๆ และส่งค่าไปแสดงผลใน JSP ภาพที่อธิบายถึงการทํางานของ Servlet และ JSP เมื่อมีผู้ใช้มา ใช้งานหน้าเว็ปผ่าน เว็ป Browser ซึ่งการทํางานคือ เราจะมี Web server application ตัวนึงเช่น Apache Tomcat ไว้รองรับ request ต่างๆๆ แล้วก็จะส่งต่อให้ container ไปเรียก servlet ให้ทํา งานตามที่ request มาเช่น request ไปเพื่อขอข้อมูลลูกค้า servlet ก็ จะไปทําการดึงข้อมูลลูกค้าออกมา แล้วก็ส่งค่าต่างๆๆไปที่ JSP เอสคิวแอล (SQL) SQL ย่อมาจาก structured query language คือภาษาที่ใช้ ในการเขียนโปรแกรม เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ เป็นภาษา มาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open
  • 4. 4 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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 :: การเพิ่มข้อมูลเฉพาะคอลัมน์ ที่
  • 7. 7 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL กําหนด 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' ); 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 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' );
  • 9. 9 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL คำาสั่งการเพิ่มข้อมูลในตารางจะใช้คำาสั่ง INSERT จะมีอยู่ 2 รูปแบบคือ การเพิ่มข้อมูลเข้าไปทีละแถว และ การเพิ่มข้อมูล โดยการดึงกลุ่มข้อมูลด้วยคำาสั่งค้นหาข้อมูล คำาสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERT เข้าไป โดยตรง รูปแบบของคำาสั่งเป็นดังนี้ INSERT INTO Tablename (column 1, column 2,…) VALUES ( 'Value1', 'Value2', 'Value..n' )" INSERT INTO เป็นคำาสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่ม ข้อมูล tablename หมายถึงชื่อของตารางที่จะทำาการเพิ่ม ข้อมูล column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล Value1 หมายถึงค่าต่างๆที่จะเพิ่มให้กับฟิลด์นั้นๆ พารามิเตอร์ค่าข้อมูลนั้น คือ ค่าของข้อมูลที่เราจะกำาหนด ให้แต่ละคอลัมน์ โดยเรียงตามลำาดับที่ปรากฏในตาราง ซึ่งต้อง เป็นไปตามเงื่อนไขดังนี้ ค่าของข้อมูลแต่ละคอลัมน์ต้องคั่นด้วยเครื่องหมาย ,ค่า ของข้อมูลนั้นต้องมีชนิดที่ตรงกันกับชนิดของข้อมูลของคอลัมน์ ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตาราง ลูกค้า INSERT INTO SALESTAB VALUES( 1001, “Chaiwat”, “Bangkok”,0.12); ผลของคำาสั่งนี้ จะมีข้อมูลปรากฏในทุกคอลัมน์ในตาราง พนักงานขายดังนี้
  • 10. 10 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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 โดยอัตโนมัติ คำาสั่งการเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคำาสั่งค้นหา ข้อมูล ในภาษา SQL สามารถใช้คำาสั่ง INSERT ในการนำาค่า หรือหาค่าจากตารางหนึ่งแล้วไปใส่ไว้ในอีกตาราหนึ่งได้ โดย ได้ค่านั้นมาจากการสอบถามข้อมูล รูปแบบเป็นดังนี้ INSERT INTO Tablename (column 1, column 2,…) SELECT statement; INSERT INTO <table name>[(column 1, column 2,…)]
  • 11. 11 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL SELECT statement; INSERT INTO เป็นคำาสั่งที่ต้องมีทุกครั้งที่ ต้องการเพิ่มข้อมูล tablename หมายถึงชื่อของตารางที่จะ ทำาการเพิ่มข้อมูล column 1 หมายถึงคอลัมน์ที่ต้องการเพิ่มข้อมูล SELECT statement ประโยคคำาสั่ง SELECT ที่ต้องการ ข้อมูลอีกตารางหนึ่ง ตัวอย่าง ถ้าต้องการใส่ข้อมูลพนักงานลงในตาราง BANGKOKSTAFF โดยข้อมูลที่จะใส่ลงไปนั้นได้มาจากตาราง พนักงานขายที่อาศัยอยู่ใน “Bangkok“ INSERT INTO BANGKOKSTAFF SELECT * FROM SALESTAB WHERE ADDRESS = ‘Bangkok’;
  • 12. 12 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL ผลของคำาสั่งนี้จะทำาให้ได้ข้อมูลพนักงานที่อยู่ในเมือง Bangkok ( ADDRESS = ‘Bangkok’) ทั้งหมดไปใส่ไว้ใน ตาราง BANGKOKSTAFF โดยตาราง BANGKOKSTAFF ได้ ถูกสร้างไว้แล้วด้วยคำาสั่ง CREATE TABLE ในการสร้างตาราง BANGKOKSTAFF จะต้องสร้างให้มี 4 คอลัมน์และมีชนิด ข้อมูลตรงกับคอลัมน์ของตารางพนักงานขาย (โดยไม่จำาเป็น ต้องมีชื่อคอลัมน์เหมือนกัน) วิธีการสร้างตารางในฐานข้อมูล โดย ใช้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
  • 17. 17 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3.สร้าง Class ใน Packagecom.model 4.ตั้งชื่อ Class ชื่อ MembersBean 5.ประกาศตัวแปรที่ต้องการจะเก็บ
  • 18. 18 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 6.สร้าง getters และ setters ขึ้นมา โดยคลิกขวาที่บรรทัดข้างล่าง ของการประกาศตัวแปร เลือกไปที่ source > Generate Getters and Setters 7.เลือก Select All เพื่อ Generate ทุกตัว
  • 19. 19 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 8.หลังจาก Generate เสร็จจะได้ดังรูป - การสร้าง Class DAO เพื่อติดต่อกับ DataBase 1. สร้าง Package ใหม่ตามรูป
  • 21. 21 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 4. ตั้งชื่อ class ชื่อ MemberDAO 5.ประกาศตัวแปรใน class MemberDAO
  • 22. 22 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 6.สร้างเมธอด addMembers ในคลาส MemberDAO เพื่อทำาหน้าที่ Insert ข้อมูลไปเก็บใน database เมื่อมีการเพิ่มข้อมูล
  • 23. 23 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7. การเรียกใช้ method createConnection()จาก class DBConnect และการเพิ่มการกระทำาตามๆที่ต้องการไปเก็บใน Database - การเขียน Code ใน Servlet
  • 24. 24 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 1.ประกาศ Object mem ของ Class MembersBean เพื่อเอาไว้รับ ค่า และเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersBean 2.ประกาศ Object memdao ของ Class MembersDAO เพื่อเรียก ใช้เมธอดหรือตัวแปรใน Class MembersDAO Code Class MembersBean packagecom.model; publicclassMembersBean {
  • 25. 25 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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() { returnmember_sex; } publicvoidsetMember_sex(String member_sex) { this.member_sex = member_sex; }
  • 26. 26 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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; } } Code Class MemberDAO packagecom.manager; importjava.sql.ResultSet;
  • 27. 27 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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_co unty," + "member_phone,member_email,member_image) " + "VALUES('"+mem.getMember_username() +"','"+mem.getMember_password()+"'" +",'"+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; } } Code Class CartoonBookServlet packagecom.controller; importjava.io.IOException; importjavax.servlet.RequestDispatcher;
  • 28. 28 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
  • 29. 29 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 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); mem.setMember_email(email); mem.setMember_image(image); MemberDAOmemdao = new MemberDAO(); memdao.addMembers(mem);
  • 30. 30 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL RequestDispatcher dispatcher = request.getRequestDispatcher(page); if(dispatcher != null){ dispatcher.forward(request, response); System.out.println("send coeplete"); } } } ตัวอย่างการใช้งาน 1. Run ในหน้า JSP กรอกข้อมูลสมัครชิก
  • 31. 31 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 2. เมื่อกดตกลงแล้ว ข้อมูลก็จะมาแสดงหน้านี้ และข้อมูลทั้งหมดก็จะ เก็บลงในตาราง Database ดังรูป
  • 32. 32 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3.ข้อมูลสมาชิกได้เก็บลงใน Database เรียบร้อยแล้ว และ member_id ก็เป็นตัวเรียงลำาดับของสมาชิกที่เข้ามาสมัค รก่อนหลัง