কম্পিউটার

একটি টেবিলে ব্লব ডেটাটাইপের মান সন্নিবেশ করার জন্য একটি JDBC উদাহরণ লিখুন?


অনুমান করুন আমাদের ইতিমধ্যেই নিম্নলিখিত বিবরণ সহ ডাটাবেসে MyTable নামে একটি টেবিল রয়েছে।

<প্রে>+------+---------------+------+------+---------+ -------+| মাঠ | প্রকার | শূন্য | কী | ডিফল্ট | অতিরিক্ত |+------+---------------+------+------+---------+- ------+| নাম | varchar(255) | হ্যাঁ | | NULL | || ছবি | ব্লব | হ্যাঁ | | NULL | |+------+---------------+------+------+---------+ -----+

আপনি যদি একটি JDBC প্রোগ্রাম ব্যবহার করে ব্লব ডেটা টাইপে একটি মান সন্নিবেশ করতে চান তবে আপনাকে বাইনারি স্ট্রিম ডেটা সেট করে এমন পদ্ধতিগুলি ব্যবহার করতে হবে। PreparedStatement ইন্টারফেস একটি টেবিলে ছবি সন্নিবেশ করার জন্য নিম্নলিখিত পদ্ধতিগুলি প্রদান করে৷

অকার্যকর সেটBinaryStream(int parameterIndex, InputStream x) পদ্ধতিটি প্রদত্ত ইনপুট স্ট্রীমে (ফাইলের শেষ পর্যন্ত) ডেটাকে প্রদত্ত সূচকে প্যারামিটারের মান হিসাবে সেট করে।

এই পদ্ধতির অন্যান্য রূপগুলি হল

  • অকার্যকর সেটBinaryStream(int parameterIndex, InputStream x, int length)

  • void setBinaryStream(int parameterIndex, Inputstream x, long length)

অকার্যকর সেটব্লব(int parameterIndex, Blob x) পদ্ধতি প্রদত্ত সূচীতে প্যারামিটারের মান হিসাবে প্রদত্ত ব্লব অবজেক্টকে সেট করে।

এই পদ্ধতির অন্যান্য রূপগুলি হল

  • void setBlob(int parameterIndex, Inputstream inputstream)

  • void setBlob(int parameterIndex, Inputstream inputstream, long length)

আপনি এই পদ্ধতিগুলির যেকোনো একটি ব্যবহার করে ব্লব ডেটা টাইপের মান সেট করতে পারেন।

উদাহরণ

নিম্নলিখিত উদাহরণ সেটবাইনারীস্ট্রিম() পদ্ধতি ব্যবহার করে একটি ব্লব ডেটাটাইপে মান সেট করে।

 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;Vpbalder static void main(String args[]) ব্যতিক্রম থ্রো করে{ //ড্রাইভার DriverManager.registerDriver(new com.mysql.jdbc.Driver()) নিবন্ধন করা; // সংযোগ পাওয়া হচ্ছে স্ট্রিং mysqlUrl ="jdbc:mysql://localhost/sampleDB"; সংযোগ কন =DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("সংযোগ প্রতিষ্ঠিত......"); //মান সন্নিবেশ করা হচ্ছে স্ট্রিং ক্যোয়ারী ="মাইটেবলে ঢোকান(নাম,চিত্র) মান (?, ?)"; PreparedStatement pstmt =con.prepareStatement(query); pstmt.setString(1, "নমুনা_চিত্র"); FileInputStream fin =new FileInputStream("E:\\images\\cat.jpg"); pstmt.setBinaryStream(2, fin); pstmt.execute(); System.out.println("রেকর্ড ঢোকানো ....."); }}

আউটপুট

সংযোগ প্রতিষ্ঠিত হয়েছে......রেকর্ড ঢোকানো হয়েছে......

আপনি যদি মাইএসকিউএল ওয়ার্ক বেঞ্চ ব্যবহার করে রেকর্ডে ব্লব মান দেখার চেষ্টা করেন তবে আপনি নীচে দেখানো চিত্রটি সন্নিবেশিত দেখতে পাবেন:

একটি টেবিলে ব্লব ডেটাটাইপের মান সন্নিবেশ করার জন্য একটি JDBC উদাহরণ লিখুন?


  1. জাভাতে PreparedStatement ব্যবহার করে একটি MySQL টেবিলে রেকর্ড ঢোকানো হচ্ছে?

  2. getCharacterStream() পদ্ধতি ব্যবহার করে একটি টেবিল থেকে Clob মান পুনরুদ্ধার করতে একটি JDBC উদাহরণ লিখুন?

  3. একটি টেবিলে ক্লোব ডেটা টাইপের মান সন্নিবেশ করার জন্য একটি JDBC উদাহরণ লিখুন?

  4. দ্বিপদ সহগ টেবিলের জন্য সি প্রোগ্রাম