หน้าแรก
หน้าแรก
setFetchSize(int) วิธีกำหนดจำนวนแถวที่จะอ่านจากฐานข้อมูลเมื่อ ResultSet ต้องการแถวเพิ่มเติม setFetchSize(int) ส่งผลต่อวิธีที่ฐานข้อมูลส่งคืนข้อมูล ResultSet ในขณะที่ setMaxRows(int) วิธีการของ ResultSet ระบุจำนวนแถวที่ ResultSet สามารถมีได้ในแต่ละครั้ง setMaxRows(int) มีผลกับวัตถุ JDBC ฝั่งไคลเอ็นต
JDBC ให้การสนับสนุนสำหรับประเภทข้อมูล SQL เกือบทั้งหมด เมื่อใดก็ตามที่ไดรเวอร์ JDBC ได้รับการเรียกจากแอปพลิเคชัน Java จะแปลงประเภทข้อมูล Java ในนั้นไปเป็นประเภทข้อมูล SQL ที่สอดคล้องกัน ขั้นตอนการแปลงเป็นไปตามการแมปเริ่มต้น ต่อไปนี้คือรายการประเภทข้อมูลที่รองรับโดย JDBC และประเภทข้อมูล SQL ที่เกี่ยว
ResultSetMetaData ให้ข้อมูลเกี่ยวกับออบเจ็กต์ ResultSet ที่ได้รับ เช่น จำนวนคอลัมน์ ชื่อของคอลัมน์ ประเภทข้อมูลของคอลัมน์ ชื่อของตาราง ฯลฯ... ต่อไปนี้เป็นวิธีการบางอย่างของ ResultSetMetaData ชั้นเรียน วิธีการ คำอธิบาย getColumnCount() ดึงจำนวนคอลัมน์ในออบเจ็กต์ ResultSet ปัจจุบัน getColumnLabel
คุณสามารถล็อกเรคคอร์ด ชุดของเรคคอร์ด ตารางฐานข้อมูล พื้นที่ตาราง ฯลฯ และเมื่อเราล็อก เราไม่สามารถเปลี่ยนค่าที่ถูกล็อกได้ ต่อไปนี้เป็นประเภทของการล็อกใน JDBC: การล็อคแถวและปุ่ม: สิ่งเหล่านี้ใช้เพื่อล็อคแถวใดแถวหนึ่ง เมื่อใช้การล็อกเหล่านี้ คุณจะทำงานพร้อมกันได้ การล็อกหน้า: สิ่งเหล่านี้ใช้เพื่อ
หากคุณคอมมิตฐานข้อมูล มันจะบันทึกการเปลี่ยนแปลงทั้งหมดที่ทำจนถึงจุดนั้น คุณสามารถคอมมิตฐานข้อมูลโดยใช้ commit() กระบวนการ. เมื่อใดก็ตามที่เกิดปัญหาขึ้น คุณสามารถเปลี่ยนฐานข้อมูลกลับมายังจุดนี้ได้โดยใช้ ย้อนกลับ() กระบวนการ. โดยค่าเริ่มต้น ฐานข้อมูลบางฐานข้อมูลยอมรับฐานข้อมูลโดยอัตโนมัติ แต่ในขณะที่
ชุดผลลัพธ์มีสองประเภท ได้แก่ ส่งต่อเท่านั้นและแบบสองทิศทาง ส่งต่อชุดผลลัพธ์เท่านั้น: วัตถุ ResultSet ที่เคอร์เซอร์เคลื่อนที่ในทิศทางเดียวเท่านั้นเรียกว่า ResultSet ไปข้างหน้าเท่านั้น โดยค่าเริ่มต้น ชุดผลลัพธ์ JDBC จะเป็นชุดผลลัพธ์แบบส่งต่อเท่านั้น คุณสามารถย้ายเคอร์เซอร์ไปข้างหน้าเท่านั้น ResultSe
SQLException สามารถเกิดขึ้นได้ทั้งในไดรเวอร์และฐานข้อมูล เมื่อมีข้อยกเว้นดังกล่าว วัตถุประเภท SQLException จะถูกส่งต่อไปยังคำสั่ง catch. ออบเจ็กต์ SQLException ที่ส่งผ่านมีเมธอดต่อไปนี้สำหรับการดึงข้อมูลเพิ่มเติมเกี่ยวกับข้อยกเว้น: วิธีการ คำอธิบาย getErrorCode( ) รับหมายเลขข้อผิดพลาดที่เกี่ยวข้อ
ถัดไป() เมธอดของอินเทอร์เฟซ ResultSet จะย้ายตัวชี้/เคอร์เซอร์ของออบเจ็กต์ ResultSet ปัจจุบันไปยังแถวถัดไปจากตำแหน่งปัจจุบัน เมธอดนี้คืนค่าบูลีน หากไม่มีแถวถัดจากตำแหน่งปัจจุบัน วิธีการนี้จะคืนค่าเท็จ มิฉะนั้นจะคืนค่าเป็น จริง ดังนั้น เมื่อใช้วิธีนี้ในลูป while คุณสามารถวนซ้ำเนื้อหาของออบเจกต์ Resul
ต่อไปนี้เป็นข้อแตกต่างระหว่าง RowSet และ ResultSet: ResultSet RowSet ResultSet รักษาการเชื่อมต่อกับฐานข้อมูลเสมอ สามารถเชื่อมต่อ RowSet ตัดการเชื่อมต่อจากฐานข้อมูล ไม่สามารถจัดลำดับได้ วัตถุ RowSet สามารถทำให้เป็นอนุกรมได้ ResultSet object ไม่สามารถส่งผ่านเครือข่ายอื่นได้ คุณสามารถส่งวัตถุ RowSe
ต่อไปนี้เป็นข้อดีของกระบวนงานที่เก็บไว้: เนื่องจากกระบวนงานที่เก็บไว้จะถูกรวบรวมและจัดเก็บ เมื่อใดก็ตามที่คุณเรียกใช้โพรซีเดอร์ การตอบสนองจึงรวดเร็ว คุณสามารถจัดกลุ่มคำสั่ง SQL ที่จำเป็นทั้งหมดในโพรซีเดอร์และดำเนินการได้ในครั้งเดียว เนื่องจากกระบวนงานจะถูกเก็บไว้ในเซิร์ฟเวอร์ฐานข้อมูลซึ่งเร
RowSet เป็น wrapper รอบ ResultSet วัตถุ. สามารถเชื่อมต่อ ตัดการเชื่อมต่อจากฐานข้อมูล และสามารถซีเรียลไลซ์ได้ มันรักษาองค์ประกอบ JavaBean โดยการตั้งค่าคุณสมบัติ คุณสามารถส่งวัตถุ RowSet ผ่านเครือข่ายได้ ตามค่าเริ่มต้น วัตถุ RowSet สามารถเลื่อนและอัปเดตได้ และจะใช้เพื่อทำให้วัตถุ ResultSet เลื่อนและอั
ในการอัปเดตเนื้อหาของ ResultSet คุณต้องสร้างคำสั่งโดยส่งประเภท ResultSet ที่สามารถอัปเดตได้ เช่น: //การสร้างคำสั่ง objectStatement stmt =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); เช่นเดียวกับเมธอด getXXX() และ setXXX() อินเตอร์เฟส ResultSet ยังมีเมธอดในการอั
คุณสามารถเรียกโพรซีเดอร์ที่เก็บไว้ SQL โดยใช้อินเทอร์เฟซ CallableStatement คำสั่ง Callable สามารถมีพารามิเตอร์อินพุต พารามิเตอร์เอาต์พุต หรือทั้งสองอย่างได้ คุณสามารถสร้างออบเจ็กต์ของ CallableStatement (อินเทอร์เฟซ) โดยใช้ prepareCall() วิธีการของการเชื่อมต่อ อินเตอร์เฟซ. เมธอดนี้ยอมรับตัวแปรสตริงท
ที่ส่วนท้ายของโปรแกรม JDBC ของคุณ จำเป็นต้องปิดการเชื่อมต่อทั้งหมดไปยังฐานข้อมูลเพื่อสิ้นสุดแต่ละเซสชันของฐานข้อมูล อย่างไรก็ตาม หากคุณลืม โปรแกรมรวบรวมขยะของ Java จะปิดการเชื่อมต่อเมื่อทำความสะอาดวัตถุที่เก่าแล้ว อาศัยการรวบรวมขยะ โดยเฉพาะอย่างยิ่งในการเขียนโปรแกรมฐานข้อมูล เป็นแนวปฏิบัติในการเขีย
ขณะดำเนินการคำสั่งโดยใช้อ็อบเจ็กต์ Statement โดยเฉพาะการแทรกคำสั่ง ทุกครั้งที่มีการเรียกใช้คิวรี่ คำสั่งทั้งหมดจะถูกรวบรวมและดำเนินการซ้ำแล้วซ้ำเล่า โดยที่ความแตกต่างเพียงอย่างเดียวระหว่างคำสั่งเหล่านี้คือค่าของคำสั่ง ในขณะที่ข้อความสั่งที่เตรียมไว้นั้นเป็นคำสั่งที่คอมไพล์ล่วงหน้า เช่น คิวรีถูกรวบร
ต่อไปนี้เป็นข้อดีของข้อความที่เตรียมไว้: โดยการหลีกเลี่ยงการคอมไพล์และการดำเนินการของคำสั่งหลายคำสั่ง คำสั่งที่เตรียมไว้จะทำงานเร็วขึ้น เมื่อใช้คำสั่งที่เตรียมไว้ เราสามารถแทรกค่าลงในประเภทข้อมูลขั้นสูง เช่น BLOB, CLOB, OBJECT ได้อย่างง่ายดายด้วยความช่วยเหลือของเมธอด setter ที่จัดเตรียมโดยอินเ
กระบวนงานที่เก็บไว้เป็นรูทีนย่อย ส่วนของคำสั่ง SQL ซึ่งจัดเก็บไว้ในแค็ตตาล็อก SQL แอปพลิเคชันทั้งหมดที่สามารถเข้าถึงฐานข้อมูลเชิงสัมพันธ์ (Java, Python, PHP เป็นต้น) สามารถเข้าถึงขั้นตอนเหล่านี้ได้ กระบวนงานที่เก็บไว้ประกอบด้วยพารามิเตอร์ IN และ OUT หรือทั้งสองอย่าง อาจส่งคืนชุดผลลัพธ์ในกรณีที่คุณใ
เช่นเดียวกับขั้นตอน คุณสามารถสร้างฟังก์ชันในฐานข้อมูลและจัดเก็บได้ ไวยากรณ์ ต่อไปนี้เป็นรูปแบบการสร้างฟังก์ชันในฐานข้อมูล a (MySQL): สร้างฟังก์ชัน Function_Name(input_arguments) RETURNS output_parameterBEGIN ประกาศตัวแปร งบ. . . . . . . . . . ส่งคืน data_type; สิ้นสุด ตัวอย่าง สมมติว่าเรามีตารางชื
ต่อไปนี้เป็นข้อแตกต่างหลักระหว่างฟังก์ชันและขั้นตอน: ฟังก์ชัน ขั้นตอน ฟังก์ชันมีประเภทส่งคืนและส่งกลับค่า โพรซีเดอร์ไม่มีประเภทการส่งคืน แต่จะคืนค่าโดยใช้พารามิเตอร์ OUT คุณไม่สามารถใช้ฟังก์ชันกับคิวรี Data Manipulation อนุญาตให้ใช้เฉพาะข้อความค้นหาแบบ Select เท่านั้น คุณสามารถใช้การสืบค้น DML เช
ชุดผลลัพธ์ อินเทอร์เฟซใน JDBC แสดงถึงข้อมูลแบบตารางที่สร้างโดยแบบสอบถาม SQL มีเคอร์เซอร์ที่ชี้ไปที่แถวปัจจุบัน เริ่มแรก เคอร์เซอร์นี้อยู่ก่อนแถวแรก การเลื่อนตัวชี้ไปตลอดทั้งชุดผลลัพธ์ ถัดไป() วิธีการของอินเทอร์เฟซ ResultSet ย้ายตัวชี้ของวัตถุปัจจุบัน (ResultSet) ไปยังแถวถัดไป จากตำแหน่งปัจจุบัน