يوضح المثال الموجود في هذه المقالة رمز المثال لـ Java باستخدام الأسلوب setAsciiStream() لاسترداد قاعدة البيانات. عند استخدام استعلام المعلمات، يجب تعيين المعلمات قبل تنفيذ عبارة SQL، ويتم تحقيق التعيين باستخدام SetBoolean() وSetInt() وSetString() وSetObject() وSetNull() وطرق أخرى لكائن PreparationStatement. . تقوم هذه الطرق بإنشاء تعيين بين أنواع بيانات Java وأنواع بيانات SQL. يمكن لـ JDBC استخدام دفق الإدخال كمعلمة إدخال لبيان SQL. هناك ثلاث طرق لتعيين دفق الإدخال: setAsciiStream ()، setUnicodeStream ()، setBinaryStream (). يستخدم هذا المثال الأسلوب setAsciiStream()، الذي يقوم بإدخال قيمة كود ASCII في معلمة نوع Longvarchar الخاصة بـ SQL. بعد تنفيذ الاستعلام، سيتم إرجاع كائن ResultSet، والذي يتضمن الجدول الذي يحتوي على نتائج الاستعلام التي يتم إرجاعها بواسطة بيان الاستعلام، ويمكن الحصول على السجل التالي لمجموعة السجلات باستخدام الطريقة التالية () لكائن ResultSet. استخدم getInt() وgetString وgetBoolean() وgetByte() وgetObject() وطرق أخرى لكائن ResultSet للحصول على البيانات الموجودة في السجل. يتم تحديد استخدام هذه الأساليب بناءً على الحاجة إلى قيم الإرجاع. استخدم طريقة isNull() لتحديد ما إذا كانت معلمة الإخراج فارغة. في هذا المثال، يتم استخدام getString() للحصول على اسم الطالب وعمره وعنوانه ورقم هاتفه، ويتم استخدام طريقة getInt() للحصول على رقم فصل الطالب.
خطوات تنفيذ البرنامج هي كما يلي:
1. اكتب الإطار الأساسي لفئة useParameterResultSet تتضمن هذه الفئة فقط الطريقة الرئيسية () في الطريقة الرئيسية ()، يتم تحميل برنامج التشغيل أولاً، ويتم إنشاء اتصال بقاعدة البيانات، ويتم إجراء استعلام عام على قاعدة البيانات، ثم يتم تنفيذ استعلام المعلمة، وأخيرا يتم تنفيذ الإجراء المخزن.
2. الكود الكامل لهذه الفئة هو كما يلي:
// يتم استخدام فئة JDBC وفئة DriverManager ومخرجات النظام، لذلك يجب تقديم الحزم التالية: import java.sql.*;import java.io.*;//import java.util.*;class useParameterResultSet{public static void main (String argv[]){String url="jdbc.odbc:useDSN";اسم السلسلة، العمر، العنوان، الهاتف؛int cno;java.sql.ResultSet rs;try{// قم بتحميل برنامج التشغيل Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");// إنشاء اتصال Connection con=DriverManager.getConnection(url,"sa"،" " );// إنشاء دفق إدخال الملف File file=new File("d:/java/usefile.txt");int flength=2;InputStream fis=new FileInputStream(file);// إنشاء كائن PreparationStatement String sqlstr = "select * from Student Where age=؟";PreparedStatement ps=con.prepareStatement(sqlstr);// قم بتعيين معلمات الإدخال ps.setAsciiStream(1,fis,flength);// احصل على مجموعة النتائج rs=ps.executeQuery();// إخراج مجموعة النتائج System.out. println("نتائج الاستعلام:");while(rs.next()){name=rs.next(); .getString("name");age=rs.getString("age");cno=rs.getInt("classno");address=rs.getString("address");telephone=rs.getString("telephone" );System.out.println(name+" "+age+" "+cno+" "+address+" "+telephone);}con. Close();}catch(Exception e){System.out.println(e.getMessage());e.printStackTrace(); }}}
يمكن للقراء المهتمين اختبار الأمثلة الموضحة في هذه المقالة وأعتقد أنها ستكون مفيدة لتطوير مشروع Java للجميع.