ตัวอย่างในบทความนี้แสดงโค้ดตัวอย่างของ Java โดยใช้เมธอด setAsciiStream() เพื่อดึงฐานข้อมูล เมื่อใช้แบบสอบถามพารามิเตอร์ จะต้องกำหนดพารามิเตอร์ก่อนดำเนินการคำสั่ง SQL การกำหนดสามารถทำได้โดยใช้ SetBoolean(), SetInt(), SetString(), SetObject(), SetNull() และวิธีการอื่น ๆ ของอ็อบเจ็กต์PreparedStatement . วิธีการเหล่านี้สร้างการแมประหว่างชนิดข้อมูล Java และชนิดข้อมูล SQL JDBC สามารถใช้อินพุตสตรีมเป็นพารามิเตอร์อินพุตของคำสั่ง SQL มีสามวิธีในการตั้งค่าสตรีมอินพุต: setAsciiStream(), setUnicodeStream(), setBinaryStream() ตัวอย่างนี้ใช้เมธอด setAsciiStream() ซึ่งป้อนค่าโค้ด ASCII ลงในพารามิเตอร์ประเภท Longvarchar ของ SQL หลังจากดำเนินการแบบสอบถาม วัตถุ ResultSet จะถูกส่งกลับ ซึ่งรวมถึงตารางที่ประกอบด้วยผลลัพธ์แบบสอบถามที่ส่งกลับโดยคำสั่งแบบสอบถาม สามารถรับระเบียนถัดไปของชุดระเบียนได้โดยใช้เมธอด next() ของวัตถุ ResultSet ใช้ getInt(), getString, getBoolean(), getByte(), getObject() และวิธีการอื่นของอ็อบเจ็กต์ ResultSet เพื่อรับข้อมูลในเรกคอร์ด การใช้เมธอดเหล่านี้จะพิจารณาจากความจำเป็นในการส่งคืนค่า ใช้เมธอด isNull() เพื่อตรวจสอบว่าพารามิเตอร์เอาต์พุตว่างเปล่าหรือไม่ ในตัวอย่างนี้ getString() ใช้เพื่อรับชื่อ อายุ ที่อยู่ และหมายเลขโทรศัพท์ของนักเรียน และใช้เมธอด getInt() เพื่อรับหมายเลขชั้นเรียนของนักเรียน
ขั้นตอนการติดตั้งโปรแกรมมีดังนี้:
1. เขียนเฟรมเวิร์กพื้นฐานของคลาส useParameterResultSet คลาสนี้รวมเฉพาะเมธอด main() เท่านั้น ในเมธอด main() ไดรเวอร์จะถูกโหลดเป็นครั้งแรก จากนั้นจะมีการเชื่อมต่อกับฐานข้อมูล จากนั้นจะดำเนินการสืบค้นทั่วไปในฐานข้อมูล จากนั้น แบบสอบถามพารามิเตอร์ถูกดำเนินการ และสุดท้ายขั้นตอนที่เก็บไว้จะถูกดำเนินการ
2. รหัสทั้งหมดของคลาสนี้เป็นดังนี้:
//ใช้คลาส JDBC, คลาส DriverManager และเอาต์พุตของระบบ ดังนั้นจำเป็นต้องแนะนำแพ็คเกจต่อไปนี้: import java.sql.*;import java.io.*;//import java.util.*;class useParameterResultSet{public โมฆะคงที่หลัก (String argv []) {String url = "jdbc.odbc:useDSN"; ชื่อสตริง, อายุ, ที่อยู่, โทรศัพท์; int cno;java.sql.ResultSet rs;ลอง{//โหลดไดรเวอร์ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//สร้างการเชื่อมต่อ Connection con=DriverManager.getConnection(url,"sa"," " );//สร้างไฟล์สตรีมอินพุตไฟล์ file=new File("d:/java/usefile.txt");int flength=2;InputStream fis=new FileInputStream(file);//สร้างวัตถุ PreparedStatement String sqlstr = "เลือก * จากนักเรียนโดยที่ age =?"; PreparedStatement ps=con.prepareStatement(sqlstr);//ตั้งค่าพารามิเตอร์อินพุต ps.setAsciiStream(1,fis,flength);//รับชุดผลลัพธ์ rs=ps.executeQuery();//ส่งออกชุดผลลัพธ์ System.out println(" ผลลัพธ์การค้นหา: ");ในขณะที่(rs.next()){name=rs .getString("name");age=rs.getString("age");cno=rs.getInt("classno");address=rs.getString("address");telephone=rs.getString("telephone" );System.out.println(ชื่อ+" "+อายุ+" "+cno+" "+ที่อยู่+" "+โทรศัพท์);}con.close();}catch(ข้อยกเว้น e){System.out.println(e.getMessage());e.printStackTrace(); }}}
ผู้อ่านที่สนใจสามารถทดสอบตัวอย่างที่อธิบายไว้ในบทความนี้ได้ ผมเชื่อว่ามันจะเป็นประโยชน์ต่อการพัฒนาโครงการ Java ของทุกคน