কম্পিউটার

জেডিবিসিতে কলযোগ্য বিবৃতি ব্যবহার করে একটি সংরক্ষিত পদ্ধতিকে কীভাবে কল করবেন ব্যাখ্যা করুন?


আপনি কলেবল স্টেটমেন্ট ইন্টারফেস ব্যবহার করে এসকিউএল সঞ্চিত পদ্ধতিগুলিকে কল করতে পারেন। একটি কলযোগ্য বিবৃতিতে ইনপুট প্যারামিটার, আউটপুট প্যারামিটার বা উভয়ই থাকতে পারে।

আপনি CallableStatement এর একটি বস্তু তৈরি করতে পারেন (ইন্টারফেস) prepareCall() ব্যবহার করে সংযোগের পদ্ধতি ইন্টারফেস. এই পদ্ধতিটি একটি স্ট্রিং ভেরিয়েবল গ্রহণ করে যা সঞ্চিত পদ্ধতিগুলিকে কল করার জন্য একটি প্রশ্নের প্রতিনিধিত্ব করে এবং একটি CallableStatement প্রদান করে বস্তু।

ধরুন আপনার একটি পদ্ধতির নাম myProcedure আছে ডাটাবেসে আপনি একটি কলযোগ্য বিবৃতি এইভাবে প্রস্তুত করতে পারেন:

//একটি CallableStatementCallableStatement প্রস্তুত করা হচ্ছে cstmt =con.prepareCall("{call myProcedure(?, ?, ?)}");

তারপর আপনি CallableStatement ইন্টারফেসের সেটার পদ্ধতি ব্যবহার করে স্থানধারকদের মান নির্ধারণ করতে পারেন এবং নীচে দেখানো হিসাবে execute() পদ্ধতি ব্যবহার করে কলযোগ্য বিবৃতি কার্যকর করতে পারেন।

cstmt.setString(1, "রাঘব");cstmt.setInt(2, 3000);cstmt.setString(3, "হায়দ্রাবাদ");cstmt.execute();

যদি পদ্ধতির জন্য কোনও ইনপুট মান না থাকে তবে আপনি কেবল কলযোগ্য বিবৃতিটি প্রস্তুত করতে পারেন এবং নীচে দেখানো হিসাবে এটি কার্যকর করতে পারেন:

CallableStatement cstmt =con.prepareCall("{call myProcedure()}");cstmt.execute();

উদাহরণ

ধরুন আমাদের ডিসপ্যাচ নামের একটি টেবিল আছে নিম্নলিখিত ডেটা সহ MySQL ডাটাবেসে:

<প্রে>+---------------+-------------------+------------ ------+----------------+| পণ্য_নাম | তারিখ_অফ_ডিসপ্যাচ | সময়_অফ_ডিসপ্যাচ | অবস্থান |+---------------+---------+--------- -----+----------------+| কীবোর্ড | 1970-01-19 | 08:51:36 | হায়দ্রাবাদ || ইয়ারফোন | 1970-01-19 | 05:54:28 | বিশাখাপত্তনম || মাউস | 1970-01-19 | 04:26:38 | বিজয়ওয়াড়া |+---------------+---------+------------ -----+----------------+

এবং যদি আমরা নীচে দেখানো হিসাবে এই টেবিল থেকে মান পুনরুদ্ধার করার জন্য myProcedure নামে একটি পদ্ধতি তৈরি করে থাকি:

প্রক্রিয়া তৈরি করুন myProcedure ()-> BEGIN-> সিলেক্ট * ফ্রম ডিসপ্যাচ;-> শেষ //

উদাহরণ

নিম্নলিখিত একটি JDBC উদাহরণ JDBC প্রোগ্রাম ব্যবহার করে উপরে উল্লিখিত সঞ্চিত পদ্ধতিকে কল করে।

 import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; পাবলিক ক্লাস কলিং প্রসিডিউর { পাবলিক স্ট্যাটিক অকার্যকর মেইন[ ]) SQLException নিক্ষেপ করে {//ড্রাইভার DriverManager.registerDriver(new com.mysql.jdbc.Driver()) নিবন্ধন করা; // সংযোগ পাওয়া হচ্ছে স্ট্রিং mysqlUrl ="jdbc:mysql://localhost/sampleDB"; সংযোগ কন =DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("সংযোগ প্রতিষ্ঠিত......"); // একটি CallableStateement CallableStatement প্রস্তুত করা হচ্ছে cstmt =con.prepareCall("{call myProcedure()}"); // ফলাফল পুনরুদ্ধার করা হচ্ছে ResultSet rs =cstmt.executeQuery(); while(rs.next()) { System.out.println("পণ্যের নাম:"+rs.getString("Product_Name")); System.out.println("প্রেরণের তারিখ:"+rs.getDate("Date_Of_Dispatch")); System.out.println("প্রেরণের সময়:"+rs.getTime("Time_Of_Dispatch")); System.out.println("অবস্থান:"+rs.getString("অবস্থান")); System.out.println(); } } }

আউটপুট

 সংযোগ স্থাপন...... পণ্যের নাম:কীবোর্ড প্রেরণের তারিখ:1970-01-19 প্রেরণের সময়:08:51:36 অবস্থান:হায়দ্রাবাদ পণ্যের নাম:ইয়ারফোন প্রেরণের তারিখ:1970-01-19 প্রেরণের সময়:05:54 :28অবস্থান:বিশাখাপত্তনম পণ্যের নাম:প্রেরণের মাউস তারিখ:1970-01-19 প্রেরণের সময়:04:26:38 অবস্থান:বিজয়ওয়াড়া

  1. কিভাবে JDBC ব্যবহার করে ডাটাবেসে ছবি সন্নিবেশ করান?

  2. কিভাবে MySQL এ একটি সঞ্চিত পদ্ধতির মাধ্যমে লুপ করবেন?

  3. কিভাবে MySQL সঞ্চিত পদ্ধতি আউটপুট দমন করতে?

  4. MySQL এ নির্বাচন বিবৃতি ব্যবহার করে একটি সঞ্চিত পদ্ধতিকে কীভাবে কল করবেন?