1
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Database (ฐานข้อมูล)
คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกันซึ่งประกอบไปด้วยแฟ้...
2
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
DAO (Data Access Objects)
เป็น application program interface (API)กับ Visual B...
3
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
JSP & Servlet
JavaServer Pages (JSP) เป็นเทคโนโลยีการเขียนโปรแกรมฝั่งเซิร์ฟเวอ...
4
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
เอสคิวแอล (SQL)
SQL ย่อมาจาก structured query language คือภาษาที่ใช้ในการเขียน...
5
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
• คาสั่งเปลี่ยนแปลงโครงสร้าง
ALTER TABLE <ชื่อตารางที่ตั้งขึ้น >
<คําสั่งการเป...
6
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL)ใช้เป็นภาษาที่ใช้ควบคุมระบบ
ร...
7
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Insert Structure :: การเพิ่มข้อมูลครั้งละหลาย record
Subject : การเพิ่มข้อมูลค...
8
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Insert Structure :: การเพิ่มข้อมูล โดยข้อมูลได้จากการคัดลอกมาจากตารางอื่น
subj...
9
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
พารามิเตอร์ค่าข้อมูลนั้น คือ ค่าของข้อมูลที่เราจะกําหนด ให้แต่ละคอลัมน์ โดยเรี...
10
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
คําสั่งการเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคําสั่งค้นหาข้อมูล ในภาษา SQL สา...
11
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
ผลของคําสั่งนี้จะทําให้ได้ข้อมูลพนักงานที่อยู่ในเมือง Bangkok ( ADDRESS =
‘Ba...
12
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
วิธีการสร้างตารางในฐานข้อมูล โดยใช้Navicat
1.คลิกขวาที่ Connection ชื่อ MyHos...
13
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3.สร้างตารางของฐานข้อมูล โดยดับเบิ้ลคลิกไปที่ฐานข้อมูลที่สร้างขึ้น แล้วคลิกขว...
14
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
5.สร้าง Fields ชื่อ member_id เพื่ออ้างอิงข้อมูล และกําหนดค่าต่างๆดังนี้
 Ty...
15
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7.เมื่อสร้าง Fields เสร็จแล้ว ให้กด Saveและกําหนดชื่อตาราง
8.หน้าต่างของตาราง...
16
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
การเพิ่มข้อมูลในฐานข้อมูลด้วยภาษา JSP และ SQL
- การสร้าง Class Beanเพื่อรับส่...
17
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3.สร้าง Class ในPackagecom.model
4.ตั้งชื่อ Class ชื่อ MembersBean
18
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
5.ประกาศตัวแปรที่ต้องการจะเก็บ
6.สร้าง getters และ setters ขึ้นมา โดยคลิกขวาท...
19
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7.เลือก Select All เพื่อ Generate ทุกตัว
8.หลังจาก Generate เสร็จจะได้ดังรูป
20
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
- การสร้าง Class DAO เพื่อติดต่อกับ DataBase
1. สร้าง Package ใหม่ตามรูป
2.ตั...
21
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3. สร้าง class ใน package com.manager
4. ตั้งชื่อ class ชื่อMemberDAO
22
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
5.ประกาศตัวแปรใน class MemberDAO
6.สร้างเมธอด addMembersในคลาส MemberDAOเพื่อ...
23
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
7. การเรียกใช้ method createConnection()จาก class DBConnect และการเพิ่มการกระ...
24
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
- การเขียนCode ใน Servlet
1.ประกาศ Object memของ Class MembersBeanเพื่อเอาไว้...
25
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Code Class MembersBean
packagecom.model;
publicclassMembersBean {
privateintm...
26
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
returnmember_sex;
}
publicvoidsetMember_sex(String member_sex) {
this.member_...
27
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Code Class MemberDAO
packagecom.manager;
importjava.sql.ResultSet;
importjava...
28
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
Code Class CartoonBookServlet
packagecom.controller;
importjava.io.IOExceptio...
29
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse...
30
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
mem.setMember_email(email);
mem.setMember_image(image);
MemberDAOmemdao = new...
31
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
ตัวอย่างการใช้งาน
1. Run ในหน้า JSP กรอกข้อมูลสมัครชิก
2. เมื่อกดตกลงแล้ว ข้อ...
32
การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL
3. ข้อมูลสมาชิกได้เก็บลงใน Database เรียบร้อยแล้ว และ member_id ก็เป็นตัวเรีย...
Upcoming SlideShare
Loading in...5
×

lesson4 JSP

188

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
188
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

lesson4 JSP

  1. 1. 1 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL Database (ฐานข้อมูล) คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกันซึ่งประกอบไปด้วยแฟ้มข้อมูล (File) ระเบียน (Record) และเขตข้อมูล (Field) และถูกจัดการด้วยระบบเดียวกันโปรแกรม คอมพิวเตอร์จะเข้าไปดึงข้อมูลที่ต้องการได้อย่างรวดเร็ว ซึ่งอาจเปรียบฐานข้อมูลเสมือนเป็น electronic filing system การเข้าถึงข้อมูลในฐานข้อมูลจึงจําเป็นต้องมีระบบการจัดการฐานข้อมูลมาช่วยเรียกว่า Database management system (DBMS) ซึ่งจะช่วยให้ผู้ใช้สามารถจัดการกับข้อมูลตามความ ต้องการได้ในหน่วยงานใหญ่ๆ อาจมีฐานข้อมูลมากกว่า 1 ฐานข้อมูลเช่นฐานข้อมูลบุคลากร ฐานข้อมูลลูกค้าฐานข้อมูลสินค้าเป็นต้น
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 11 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL ผลของคําสั่งนี้จะทําให้ได้ข้อมูลพนักงานที่อยู่ในเมือง Bangkok ( ADDRESS = ‘Bangkok’) ทั้งหมดไปใส่ไว้ในตาราง BANGKOKSTAFF โดยตาราง BANGKOKSTAFF ได้ ถูกสร้างไว้แล้วด้วยคําสั่ง CREATE TABLE ในการสร้างตาราง BANGKOKSTAFF จะต้อง สร้างให้มี 4 คอลัมน์และมีชนิดข้อมูลตรงกับคอลัมน์ของตารางพนักงานขาย (โดยไม่จําเป็นต้อง มีชื่อคอลัมน์เหมือนกัน)
  12. 12. 12 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL วิธีการสร้างตารางในฐานข้อมูล โดยใช้Navicat 1.คลิกขวาที่ Connection ชื่อ MyHostแล้วสร้างฐานข้อมูล โดยเข้าไปเลือกที่ New Database… 2.ตั้งชื่อ Databaseชื่อ cartoonbookกําหนด Character set เป็น utf8 – UTF-8 Unicode และ Collation เป็น utf8_genral_ci เพื่อให้ฐานข้อมูลรองรับภาษาไทยได้
  13. 13. 13 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3.สร้างตารางของฐานข้อมูล โดยดับเบิ้ลคลิกไปที่ฐานข้อมูลที่สร้างขึ้น แล้วคลิกขวาที่ Table เลือก New table 4.จากนั้นจะได้ตารางดังรูป
  14. 14. 14 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 5.สร้าง Fields ชื่อ member_id เพื่ออ้างอิงข้อมูล และกําหนดค่าต่างๆดังนี้  Type กําหนดชนิดฟิลด์เป็น int  Length กําหนดขนาดฟิลด์ตามความต้องการ  Decimals กําหนดจํานวนหลักตัวเลข หลังจุดทศนิยม (กรณีที่เลือกฟิลด์เป็นชนิดตัวเลขทศนิยมเท่านั้น  Allow Null ติ๊กถูกคือ อนุญาตให้ฟิลด์นี้เป็นค่าว่างได้แต่ถ้าไม่ติ๊กก็เท่ากับห้ามมีค่าว่าง ช่องว่าง กาหนดฟิลด์เป็น ไพรมารีคีย์ 6.สร้าง Fields ต่างๆ ตามข้อมูลที่ต้องการจัดเก็บลงบนฐานข้อมูล
  15. 15. 15 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7.เมื่อสร้าง Fields เสร็จแล้ว ให้กด Saveและกําหนดชื่อตาราง 8.หน้าต่างของตารางฐานข้อมูล ที่สร้างขึ้น
  16. 16. 16 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL การเพิ่มข้อมูลในฐานข้อมูลด้วยภาษา JSP และ SQL - การสร้าง Class Beanเพื่อรับส่งข้อมูล 1. สร้าง Package ใหม่ขึ้นมา โดยคลิกที่ Java Resources แล้วคลิกขวาที่ srcเข้าไปที่New >Package 2.ตั้งชื่อ Package ชื่อ com.model
  17. 17. 17 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3.สร้าง Class ในPackagecom.model 4.ตั้งชื่อ Class ชื่อ MembersBean
  18. 18. 18 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 5.ประกาศตัวแปรที่ต้องการจะเก็บ 6.สร้าง getters และ setters ขึ้นมา โดยคลิกขวาที่บรรทัดข้างล่างของการประกาศตัวแปร เลือกไปที่ source > Generate Getters and Setters
  19. 19. 19 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7.เลือก Select All เพื่อ Generate ทุกตัว 8.หลังจาก Generate เสร็จจะได้ดังรูป
  20. 20. 20 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL - การสร้าง Class DAO เพื่อติดต่อกับ DataBase 1. สร้าง Package ใหม่ตามรูป 2.ตั้งชื่อ package ชื่อcom.manager
  21. 21. 21 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3. สร้าง class ใน package com.manager 4. ตั้งชื่อ class ชื่อMemberDAO
  22. 22. 22 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 5.ประกาศตัวแปรใน class MemberDAO 6.สร้างเมธอด addMembersในคลาส MemberDAOเพื่อทําหน้าที่ Insert ข้อมูลไปเก็บใน database เมื่อมีการ เพิ่มข้อมูล
  23. 23. 23 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 7. การเรียกใช้ method createConnection()จาก class DBConnect และการเพิ่มการกระทําตามๆที่ต้องการไป เก็บใน Database
  24. 24. 24 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL - การเขียนCode ใน Servlet 1.ประกาศ Object memของ Class MembersBeanเพื่อเอาไว้รับค่า และเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersBean 2.ประกาศ Object memdaoของ Class MembersDAOเพื่อเรียกใช้เมธอดหรือตัวแปรใน Class MembersDAO
  25. 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. 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. 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. 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. 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. 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. 31 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL ตัวอย่างการใช้งาน 1. Run ในหน้า JSP กรอกข้อมูลสมัครชิก 2. เมื่อกดตกลงแล้ว ข้อมูลก็จะมาแสดงหน้านี้ และข้อมูลทั้งหมดก็จะเก็บลงในตาราง Databaseดังรูป
  32. 32. 32 การเพิ่มข้อมูลลงฐานข้อมูลด้วยภาษา JSP&SQL 3. ข้อมูลสมาชิกได้เก็บลงใน Database เรียบร้อยแล้ว และ member_id ก็เป็นตัวเรียงลําดับ ของสมาชิกที่เข้ามาสมัครก่อนหลัง

×