Java Parameters Query for UPDATE PreparedStatement (prepareStatement) |
Java Parameters Query for UPDATE PreparedStatement (prepareStatement) ตัวอย่างการใช้ PreparedStatement ในภาษา Java เพื่อ Query Edit แก้ไขข้อมูลแบบ UPDATE การกำหนดรูปแบบของ Parameters แบบ Query ด้วยการ UPDATE ข้อมูลลงใน Table โดยที่ Prepared Statement รองรับการทำงานได้ทุก Database ไม่ว่าจะเป็น Access , MySQL , MariaDB , SQL Server หรือ Oracle Database
การนำ PreparedStatement ในการเขียนโปรแกรมด้วยภาษา Java มาช่วยในการเขียน SQL Statement จะช่วยให้การจัดการกับ Query นั้นมีประสิทธิภาพสูงขึ้นมาก เพราะ PreparedStatement เป็นการสร้าง Object ของ SQL Statement ขึ้นมา 1 ชุด ที่สามารถนำไปใช้งานได้หลายครั้ง อีกทั้งยังสามารถใช้ตรวจสอบความถูกต้องต้องข้อมูลได้ด้วย เช่นในแต่ล่ะ Parameters สามารถกำหนดชนิด Data Type ของข้อมูลได้ เช่น เป็นแบบ INTEGER ก็ใช้ setInt เป็นแบบ STRING ก็ใช้ setString และในความสามารถของการทำงานจะมี Performance ดีกว่าการเขียน Query ธรรมดา ทั้งในด้านความเร็ว ด้าน Secure ที่ช่วยป้องกัน SQL Injection อัตโนมัติ
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET NAME = ? WHERE ID = ?");
pstmt.setString(1, "Win")
pstmt.setInt(2, 101)
รูปแบบการเขียน PreparedStatement บนภาษา Java จะใช้เครื่องหมาย ? เป็นตำแหน่งของ Parameters โดยสามารถกำหนด Parameters ตามตำแหน่งโดยเริ่มจาก 1 ซึ่งรองรับ Data Type ต่าง ๆ เช่น
setNull ( index, null )
setBoolean ( index, boolean )
setByte ( index, byte )
setDate ( index, date )
setTime ( index, time )
setInt ( index, int )
setLong ( index, long )
setShort ( index, short )
setFloat ( index, float )
setDouble ( index, double )
setString ( index, string )
setObject ( index, object )
การนำ PreparedStatement มาใช้งานหลายครั้ง
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET NAME = ? WHERE ID = ?");
// Query 1
pstmt.setString(1, "Win")
pstmt.setInt(2, 101)
pstmt.executeUpdate();
// Query 2
pstmt.setString(1, "Chai")
pstmt.setInt(2, 102)
pstmt.executeUpdate();
จากตัวอย่างจะเห้นว่า Object ของ PreparedStatement สามารถนำมาใช้งานได้หลาย ๆ ครั้ง
Syntax for UPDATE
PreparedStatement pre = connect.prepareStatement(sql);
สร้างชนิด Object ของ PreparedStatement เพื่อไว้สำหรับเก็บสร้าง Query และ Parameters
String sql = "UPDATE customer " +
"SET Budget = ? " +
" WHERE CustomerID = ? ";
pre.setFloat(1, 5000000);
pre.setString(2, "C005");
สร้างชุดคำสั่งของ SQL และการเพิ่ม Parameters ในแต่ล่ะตำแหน่ง และ ในแต่ล่ะชนิดของข้อมูล
pre.executeUpdate();
Execute เพื่อ Query ตัว PreparedStatement
Example การใช้ PreparedStatement ด้วยการ UPDATE ข้อมูลลงในตาราง (Table)
ตัวอย่างข้อมูล
MyClass.java
package com.java.myapp;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MyClass {
public static void main(String[] args) {
Connection connect = null;
PreparedStatement pre = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase" +
"?user=root&password=root");
String sql = "UPDATE customer " +
"SET Budget = ? " +
" WHERE CustomerID = ? ";
pre = connect.prepareStatement(sql);
pre.setFloat(1, 5000000);
pre.setString(2, "C005");
pre.executeUpdate();
System.out.println("Record Update Successfully");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Close
try {
if(connect != null){
pre.close();
connect.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Output
Record Update Successfully
บทความเกี่ยวกับ PreparedStatement กับ Database ต่าง ๆ
Java Ms Access mdb and PreparedStatement/Parameters Query (JDBC)
Java MySQL Database and PreparedStatement/Parameters Query (JDBC)
Java MariaDB Database and PreparedStatement/Parameters Query (JDBC)
Java SQL Server Database and PreparedStatement/Parameters Query (JDBC)
Java Oracle Database and PreparedStatement/Parameters Query (JDBC)
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2013-05-26 11:39:21 /
2017-03-27 14:23:28 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|