40
1 กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก JSP&SQL Database (ฐฐฐฐฐฐฐฐฐ) กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกก (File) กกกกกกก (Record) กกกกกกกกกกกก (Field) กกกกกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก electronic filing system กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก Database management system (DBMS) กกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกก 1 กกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก

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

Embed Size (px)

Citation preview

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

1การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

Database (ฐานข้�อมู�ล)

คื�อระบบที่��รวบรวมข้อม�ลไวในที่��เด้�ยวก�นซึ่!�งประกอบไปด้วยแฟ้%มข้อม�ล (File) ระเบ�ยน (Record) และเข้ตข้อม�ล (Field) และถู�กจั�ด้การด้วยระบบเด้�ยวก�นโปรแกรมคือมพิ่�วเตอร*จัะเข้าไปด้!งข้อม�ลที่��ตองการได้อย+างรวด้เร,ว ซึ่!�งอาจัเปร�ยบฐานข้อม�ลเสม�อนเป.นelectronic filing system

การเข้าถู!งข้อม�ลในฐานข้อม�ลจั!งจั/าเป.นตองม�ระบบการจั�ด้การฐานข้อม�ลมาช่+วยเร�ยกว+าDatabase management system (DBMS) ซึ่!�งจัะช่+วยให้ผู้�ใช่สามารถูจั�ด้การก�บข้อม�ลตามคืวามตองการได้ในห้น+วยงานให้ญ่+ๆ อาจัม�ฐานข้อม�ลมากกว+า 1 ฐานข้อม�ลเช่+นฐานข้อม�ลบ5คืลากรฐานข้อม�ลล�กคืาฐานข้อม�ลส�นคืาเป.นตน

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

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 เที่+าน�6นข้�อดี�ข้อง การใช้� JavaBean

- สามารถูที่/างานได้บนที่5กๆ ระบบปฏิ�บ�ต�การ โด้ยที่��ไม+ตองที่/าการ Compile ให้ม+ที่5กคืร�6ง- ม�การ load ลงห้น+วยคืวามจั/าเพิ่�ยงคืร�6งเด้�ยวจันกว+าจัะม�การเล�กใช่งานโปรแกรม- สามารถูน/า Component ที่��เข้�ยนมาแลว กล�บมาใช่ให้ม+ได้อ�ก- สามารถูน/าคืวามร� ที่��ใช่ในภาษา Java มาใช่ในการเข้�ยนโปรแกรมร+วมด้วยได้

JSP & Servlet

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

3การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

JavaServer Pages (JSP) เป.นเที่คืโนโลย�การเข้�ยนโปรแกรมฝั่9� งเซึ่�ร*ฟ้เวอร*ที่��ช่+วยให้การสรางห้นาเว,บแบบได้นาม�กและการประย5กต*ใช่ ซึ่!�งที่/าได้โด้ยการฝั่9งรห้�ส Java เป.น HTML, XML, DHTML, ห้ร�อประเภที่เอกสารอ��น ๆ เม��อเว,บเบราว*เซึ่อร*ที่/าให้คื/าข้อไปย�งที่��เก,บโปรแกรม Java ซึ่!�งตามปกต�จัะเป.นเว,บเซึ่�ร*ฟ้เวอร*, ห้นาคืงถู�กแปลงอย�+เบ�6องห้ล�งและ แสด้งเป.นเน�6อห้าแบบได้นาม�กก�บต�ว JSP

Servlets เป.น Componet ด้านเซึ่�ร*ฟ้เวอร*ที่��ม�ประส�ที่ธิ�ภาพิ่ ในการพิ่�ฒนาโปรแกรมฝั่9� งเซึ่�ร*ฟ้เวอร* ที่/าห้นาที่�� จั�ด้การก�บ request และ response ต+างๆ และส+งคื+าไปแสด้งผู้ลใน JSP

ภาพิ่ที่��อธิ�บายถู!งการที่/างานข้อง Servlet และ JSP เม��อม�ผู้�ใช่มาใช่งานห้นาเว,ปผู้+าน เว,ป Browser ซึ่!�งการที่/างานคื�อ เราจัะม� Web server

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

4การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

application ต�วน!งเช่+น Apache Tomcat ไวรองร�บ request ต+างๆๆ แลวก,จัะส+งต+อให้ container ไปเร�ยก servlet ให้ที่/างานตามที่�� request มาเช่+น request ไปเพิ่��อข้อข้อม�ลล�กคืา servlet ก,จัะไปที่/าการด้!งข้อม�ลล�กคืาออกมา แลวก,ส+งคื+าต+างๆๆไปที่�� JSP

เอสคิ�วแอล (SQL)

SQL ย+อมาจัาก structured query language คื�อภาษาที่��ใช่ในการเข้�ยนโปรแกรม เพิ่��อจั�ด้การก�บฐานข้อม�ลโด้ยเฉพิ่าะ เป.นภาษามาตราฐานบนระบบฐานข้อม�ลเช่�งส�มพิ่�นธิ*และเป.นระบบเป=ด้ (open system)

ห้มายถู!งเราสามารถูใช่คื/าส��ง sql ก�บฐานข้อม�ลช่น�ด้ใด้ก,ได้ และ คื/าส��งงานเด้�ยวก�นเม��อส��งงานผู้+าน ระบบฐานข้อม�ลที่��แตกต+างก�นจัะได้ ผู้ลล�พิ่ธิ*เห้ม�อนก�น ที่/าให้เราสามารถูเล�อกใช่ฐานข้อม�ล ช่น�ด้ใด้ก,ได้โด้ยไม+ต�ด้ย!ด้ก�บฐานข้อม�ลใด้ฐานข้อม�ลห้น!�ง นอกจัากน�6แลว SQL ย�งเป.นช่��อโปรแกรมฐานข้อม�ล ซึ่!�งโปรแกรม SQL เป.นโปรแกรมฐานข้อม�ลที่��ม�โคืรงสรางข้องภาษาที่��เข้าใจัง+าย ไม+ซึ่�บซึ่อน ม�ประส�ที่ธิ�ภาพิ่การที่/างานส�ง สามารถูที่/างานที่��ซึ่�บซึ่อนได้โด้ยใช่คื/าส��งเพิ่�ยงไม+ก��คื/าส� �ง โปรแกรม SQL จั!งเห้มาะที่��จัะใช่ก�บระบบฐานข้อม�ลเช่�งส�มพิ่�นธิ* และเป.นภาษาห้น!�ง

ป9จัจั5บ�นม�ซึ่อฟ้ต*แวร*ระบบจั�ด้การฐานข้อม�ล (DBMS ) ที่��สน�บสน5นการใช่คื/าส��ง SQL เช่+น Oracle , DB2, MS-SQL, MS-Access

นอกจัากน�6ภาษา SQL ถู�กน/ามาใช่เข้�ยนร+วมก�บโปรแกรมภาษาต+างๆ เช่+น ภาษา c/C++ , VisualBasic และ Java

ประเภทข้องคิ�าส��งภาษา SQL

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

5การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

1. ภาษาน�ยามูข้�อมู�ล(Data Definition Language :

DDL)เป.นคื/าส��งที่��ใช่ในการสรางฐานข้อม�ล ก/าห้นด้โคืรงสรางข้อม�ลว+าม� Attribute ใด้ ช่น�ด้ข้องข้อม�ล รวมที่�6งการเปล��ยนแปลงตาราง และการสรางด้�ช่น� คื/าส��ง : 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)

• คิ�าส��งเปล��ยนแปลงโคิรงสร�างALTER TABLE <ช่��อตารางที่��ต� 6งข้!6น ><คื/าส��งการเปล��ยนแปลง> (<ช่��อคือล�มน*ประเภที่ข้อม�ล>);

ต�วอย+างเช่+นALTER TABLE SUPPLIERADD (LAST_SNAME Char(10));

• คิ�าส��งยกเล�ก (Drop) ต"างๆการลบโคืรงสรางตารางDROP TABLE <ช่��อตารางที่��ต� 6งข้!6น >

2. ภาษาจั�ดีการข้�อมู�ล (Data Manipulation

Language :DML)ห้ล�งจัากที่��เราสรางโคืรงสรางฐานข้อม�ลข้!6นแลว

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

6การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

คื/าส��งต+อไปในการป%อนข้อม�ลลงในฐานข้อม�ลและเปล��ยนแปลงข้อม�ล� ในฐานข้อมล� โด้ยการใช่ภาษาส/าห้ร�บการจั�ด้การข้อม�ล (Data

ManipulationLanguage-DML) ใช่จั�ด้การข้อม�ลภายในตารางภายในฐานข้อม�ล และภาษาแกไข้เปล��ยนแปลงตาราง

แบ+งออกเป.น 4 Statement คื�อ• Select Statement :การเร�ยกห้า (Retrieve) ข้อม�ลจัาก ฐาน

ข้อม�ล• Insert Statement :การเพิ่��มเต�มข้อม�ลลงใน ตาราง (Table)

จัาก ฐานข้อม�ล• Delete Statement: การลบข้อม�ลลงออกจัาก ตาราง

(Table) จัาก ฐานข้อม�ล• Update Statement: การเปล��ยนแปลงข้อม�ลลงใน ตาราง

(Table) จัาก ฐานข้อม�ล

3. ภาษาคิวบคิ+มูข้�อมู�ล (Data Control Language

: DCL)ใช่เป.นภาษาที่��ใช่คืวบคื5มระบบร�กษาคืวามปลอด้ภ�ย ข้องฐานข้อม�ล ประกอบด้วยคื/าส��ง 2 คื/าส��งคื�อ

• คื/าส��ง GRANT เป.นคื/าส��งที่��ใช่ก/าห้นด้ส�ที่ธิ�ให้ก�บผู้�ใช่แต+ละคืนให้ม�ส�ที่ธิกระที่/าการใด้ก�บข้อม�ลเช่+น

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

7การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

การเพิ่��มข้อม�ล การแกไข้ ห้ร�อ การลบข้อม�ลในตารางใด้บาง• คื/าส��ง REVOKE เป.นคื/าส��งให้ม�การยกเล�กส�ที่ธิน�6นห้ล�งจัากที่��ได้

GRANT แลว

ประโยช่น*ข้องภาษา SQL 1. สรางฐานข้อม�ลและ ตาราง 2. สน�บสน5นการจั�ด้การฐานข้อม�ล ซึ่!�งประกอบด้วย การเพิ่��ม การ

ปร�บปร5ง และการลบข้อม�ล3. สน�บสน5นการเร�ยกใช่ห้ร�อ คืนห้าข้อม�ล

คิ�าส��งเพิ่��มูข้�อมู�ล (Insert Statement)

Insert Structure :: การเพิ่��มูข้�อมู�ลท+กคิอล�มูน& ท��ไดี�สร�างไว�Subject : การเพิ่��มข้อม�ลที่5กคือล�มน* ที่��ได้สรางไว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

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

8การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

( 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 :: การเพิ่��มูข้�อมู�ลคิร�/งละหลาย recordSubject : การเพิ่��มข้อม�ลคืร�6งละห้ลาย recordSyntax : 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 :: การเพิ่��มูข้�อมู�ลคิร�/งละหลาย recordSubject : การเพิ่��มข้อม�ลคืร�6งละห้ลาย recordsyntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n )VALUES ( 'value_1', 'value_2', ..., 'value_n' ),

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

9การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

( '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 :: การเพิ่��มูข้�อมู�ล โดียข้�อมู�ลไดี�จัากการคิ�ดีลอกมูาจัากตารางอ0�นsubject : การเพิ่��มข้อม�ล โด้ยข้อม�ลได้จัากการคื�ด้ลอกมาจัากตารางอ��นsyntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n )SELECT column_name_1, column_name_2, ..., column_name_nFROM table_nameWHERE condition;comment : INSERT INTO customer ( id, customer_name, customer_sex )select person_id, person_name, person_sexFROM personWHERE person_sex = 'man';

คื/าส��งการเพิ่��มข้อม�ลในตารางจัะใช่คื/าส� �ง INSERT จัะม�อย�+ 2

ร�ปแบบคื�อ การเพิ่��มข้อม�ลเข้าไปที่�ละแถูว และ การเพิ่��มข้อม�ลโด้ยการด้!งกล5+มข้อม�ลด้วยคื/าส��งคืนห้าข้อม�ล

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

10การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

คื/าส��งการเพิ่��มข้อม�ลที่�ละแถูวโด้ยระบ5ข้อม�ลที่��จัะ INSERT เข้าไปโด้ยตรง ร�ปแบบข้องคื/าส��งเป.นด้�งน�6

INSERT INTO Tablename (column 1, column 2,…)VALUES ( 'Value1', 'Value2', 'Value..n' )"

INSERT INTO เป.นคื/าส� �งที่��ตองม�ที่5กคืร�6งที่��ตองการเพิ่��มข้อม�ล

tablename ห้มายถู!งช่��อข้องตารางที่��จัะที่/าการเพิ่��มข้อม�ล

column 1 ห้มายถู!งคือล�มน*ที่��ตองการเพิ่��มข้อม�ลValue1 ห้มายถู!งคื+าต+างๆที่��จัะเพิ่��มให้ก�บฟ้=ลด้*น�6นๆ

พิ่าราม�เตอร*คื+าข้อม�ลน�6น คื�อ คื+าข้องข้อม�ลที่��เราจัะก/าห้นด้ ให้แต+ละคือล�มน* โด้ยเร�ยงตามล/าด้�บที่��ปรากฏิในตาราง ซึ่!�งตองเป.นไปตามเง��อนไข้ด้�งน�6

คื+าข้องข้อม�ลแต+ละคือล�มน*ตองคื��นด้วยเคืร��องห้มาย ,คื+าข้องข้อม�ลน�6นตองม�ช่น�ด้ที่��ตรงก�นก�บช่น�ด้ข้องข้อม�ลข้องคือล�มน*

ต�วอย+าง ถูาตองการจัะใส+ข้อม�ลที่5กคือล�มน*ลงในตารางล�กคืาINSERT INTO SALESTABVALUES( 1001, “Chaiwat”, “Bangkok”,0.12);

ผู้ลข้องคื/าส��งน�6 จัะม�ข้อม�ลปรากฏิในที่5กคือล�มน*ในตารางพิ่น�กงานข้ายด้�งน�6

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

11การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

SALENO SALENAME ADDRESS SALECOM

1001 Chaiwat Bangkok 0.12

ต�วอย+าง ถูาตองการจัะใส+ข้อม�ลบางคือล�มน* เช่+น ช่��อเม�อง Bangkok ช่��อล�กคืา Arlee และห้มายเลข้ล�กคืา 2001 ลงในตารางล�กคืา ใช่คื/าส� �งด้�งน�6

INSERT INTO CUSTOMERSTAB(ADDRESS,CUSNAME,CUSNO)

VALUES( 'Bangkok','Arlee', 2001);

ผู้ลข้องคื/าส��งในตารางล�กคืา จัะที่/าให้คือล�มน* ADDRESS ม�คื+าเป.น Bangkok คือล�มน* CUSNAME จัะม�คื+าเป.น Arlee

คือล�มน* CUSNO จัะม�คื+าเป.น 2001 ด้�งน�6CUSNO CUSNAME ADDRESS RATING SALENO

2001 Arlee Bangkok    

จัะเห้,นว+าไม+ได้ใส+คื+าในคือล�มน* RATING และ SALENO ไว ด้�งน�6นที่�6งสองคือล�มน*น�6จัะม�คื+าเป.น NULL โด้ยอ�ตโนม�ต�

คื/าส� �งการเพิ่��มข้อม�ลโด้ยการด้!งกล5+มข้อม�ลด้วยคื/าส��งคืนห้าข้อม�ล ในภาษา SQL สามารถูใช่คื/าส� �ง INSERT ในการน/าคื+าห้ร�อห้าคื+าจัากตารางห้น!�งแลวไปใส+ไวในอ�กตาราห้น!�งได้ โด้ยได้คื+าน�6นมาจัากการสอบถูามข้อม�ล ร�ปแบบเป.นด้�งน�6

INSERT INTO Tablename (column 1, column 2,…)

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

12การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

SELECT statement;

INSERT INTO <table name>[(column 1, column 2,…)]

SELECT statement;

INSERT INTO เป.นคื/าส� �งที่��ตองม�ที่5กคืร�6งที่��ตองการเพิ่��มข้อม�ล

tablename ห้มายถู!งช่��อข้องตารางที่��จัะที่/าการเพิ่��มข้อม�ล

column 1 ห้มายถู!งคือล�มน*ที่��ตองการเพิ่��มข้อม�ลSELECT statement ประโยคืคื/าส��ง SELECT ที่��ตองการ

ข้อม�ลอ�กตารางห้น!�งต�วอย+าง ถูาตองการใส+ข้อม�ลพิ่น�กงานลงในตาราง

BANGKOKSTAFF โด้ยข้อม�ลที่��จัะใส+ลงไปน�6นได้มาจัากตารางพิ่น�กงานข้ายที่��อาศั�ยอย�+ใน “Bangkok“

INSERT INTO BANGKOKSTAFFSELECT *FROM SALESTABWHERE ADDRESS = ‘Bangkok’;

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

13การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

ผู้ลข้องคื/าส��งน�6จัะที่/าให้ได้ข้อม�ลพิ่น�กงานที่��อย�+ในเม�อง Bangkok ( ADDRESS = ‘Bangkok’) ที่�6งห้มด้ไปใส+ไวในตาราง BANGKOKSTAFF โด้ยตาราง BANGKOKSTAFF ได้ถู�กสรางไวแลวด้วยคื/าส��ง CREATE TABLE ในการสรางตาราง BANGKOKSTAFF จัะตองสรางให้ม� 4 คือล�มน*และม�ช่น�ด้ข้อม�ลตรงก�บคือล�มน*ข้องตารางพิ่น�กงานข้าย (โด้ยไม+จั/าเป.นตองม�ช่��อคือล�มน*เห้ม�อนก�น)

ว�ธี�การสร�างตารางในฐานข้�อมู�ล โดียใช้�Navicat

1.คืล�กข้วาที่�� Connection ช่��อ MyHost แลวสรางฐานข้อม�ล โด้ยเข้าไปเล�อกที่�� New Database…

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

14การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

2.ต�6งช่��อ Database ช่��อ cartoonbook ก/าห้นด้ Character set เป.น utf8 – UTF-8 Unicode และ Collation เป.น utf8_genral_ci เพิ่��อให้ฐานข้อม�ลรองร�บภาษาไที่ยได้

3.สรางตารางข้องฐานข้อม�ล โด้ยด้�บเบ�6ลคืล�กไปที่��ฐานข้อม�ลที่��สรางข้!6น แลวคืล�กข้วาที่�� Table เล�อก New table

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

15การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

4.จัากน�6นจัะได้ตารางด้�งร�ป

5.สราง Fields ช่��อ member_id เพิ่��ออางอ�งข้อม�ล และก/าห้นด้คื+าต+างๆด้�งน�6

Type ก/าห้นด้ช่น�ด้ฟ้=ลด้*เป.น int

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

16การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

Length ก/าห้นด้ข้นาด้ฟ้=ลด้*ตามคืวามตองการ Decimals ก/าห้นด้จั/านวนห้ล�กต�วเลข้ ห้ล�งจั5ด้ที่ศัน�ยม (กรณี�ที่��เล�อก

ฟ้=ลด้*เป.นช่น�ด้ต�วเลข้ที่ศัน�ยมเที่+าน�6น Allow Null ต�@กถู�กคื�อ อน5ญ่าตให้ฟ้=ลด้*น�6เป.นคื+าว+างได้ แต+ถูาไม+ต�@กก,

เที่+าก�บห้ามม�คื+าว+างช่+องว+าง ก/าห้นด้ฟ้=ลด้*เป.น ไพิ่รมาร�คื�ย*

6.สราง Fields ต+างๆ ตามข้อม�ลที่��ตองการจั�ด้เก,บลงบนฐานข้อม�ล

7.เม��อสราง Fields เสร,จัแลว ให้กด้ Save และก/าห้นด้ช่��อตาราง

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

17การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

8.ห้นาต+างข้องตารางฐานข้อม�ล ที่��สรางข้!6น

การเพิ่��มูข้�อมู�ลในฐานข้�อมู�ลดี�วยภาษา JSP และ SQL

- การสราง Class Bean เพิ่��อร�บส+งข้อม�ล

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

18การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

1. สราง Package ให้ม+ข้!6นมา โด้ยคืล�กที่�� Java Resources แลวคืล�กข้วาที่�� src เข้าไปที่��New >Package

2.ต�6งช่��อ Package ช่��อ com.model

3.สราง Class ใน Packagecom.model

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

19การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

4.ต�6งช่��อ Class ช่��อ MembersBean

5.ประกาศัต�วแปรที่��ตองการจัะเก,บ

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

20การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

6.สราง getters และ setters ข้!6นมา โด้ยคืล�กข้วาที่��บรรที่�ด้ข้างล+างข้องการประกาศัต�วแปร เล�อกไปที่�� source > Generate Getters and

Setters

7.เล�อก Select All เพิ่��อ Generate ที่5กต�ว

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

21การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

8.ห้ล�งจัาก Generate เสร,จัจัะได้ด้�งร�ป

- การสราง Class DAO เพิ่��อต�ด้ต+อก�บ DataBase

1. สราง Package ให้ม+ตามร�ป

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

22การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

2.ต�6งช่��อ package ช่��อ com.manager

3. สราง class ใน package com.manager

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

23การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

4. ต�6งช่��อ class ช่��อ MemberDAO

5.ประกาศัต�วแปรใน class MemberDAO

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

24การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

6.สรางเมธิอด้ addMembers ในคืลาส MemberDAO เพิ่��อที่/าห้นาที่�� Insert ข้อม�ลไปเก,บใน database เม��อม�การเพิ่��มข้อม�ล

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

25การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

7. การเร�ยกใช่ method createConnection()จัาก class

DBConnect และการเพิ่��มการกระที่/าตามๆที่��ตองการไปเก,บใน Database

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

26การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

- การเข้�ยน Code ใน Servlet

1.ประกาศั Object mem ข้อง Class MembersBean เพิ่��อเอาไวร�บคื+า และเพิ่��อเร�ยกใช่เมธิอด้ห้ร�อต�วแปรใน Class MembersBean

2.ประกาศั Object memdao ข้อง Class MembersDAO เพิ่��อเร�ยกใช่เมธิอด้ห้ร�อต�วแปรใน Class MembersDAO

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

27การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

Code Class MembersBeanpackagecom.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() {

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

28การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา 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;}

}

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

29การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

Code Class MemberDAOpackagecom.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_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;}

}

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

30การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

Code Class CartoonBookServletpackagecom.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);}

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

31การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา 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);

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

32การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

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);

RequestDispatcher dispatcher = request.getRequestDispatcher(page);

if(dispatcher != null){dispatcher.forward(request, response);System.out.println("send coeplete");}

}

}

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

33การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

ต�วอย"างการใช้�งาน1. Run ในห้นา JSP กรอกข้อม�ลสม�คืรช่�ก

2. เม��อกด้ตกลงแลว ข้อม�ลก,จัะมาแสด้งห้นาน�6 และข้อม�ลที่�6งห้มด้ก,จัะเก,บลงในตาราง Database ด้�งร�ป

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

34การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL

3.ข้อม�ลสมาช่�กได้เก,บลงใน Database เร�ยบรอยแลว และ member_id ก,เป.นต�วเร�ยงล/าด้�บข้องสมาช่�กที่��เข้ามาสม�คืรก+อนห้ล�ง

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

35การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL