اذهب إلى المحتوى
  • 0

كيف اضيف صورة الى الداتا بيز

Ahmed Sawy

السؤال

السلام عليكم .. طلبى سهل جدا باذن الله 
اريد معرفة طريقة اضافة صورة الى الداتا بيز مع البيانات مثل (الاسم والعنوان لتظهر مع بيانات الموظف) .. 

طلبى سهل بسبب 

أولا .. انا اعرف ما هو النوع اللازم لحفظ الصورة فى الداتا بيز وهو "blob" .. 
ثانيا انا اعرف كود اختيار صورة واضافتها .. كما يظهر فى الصورة الاولى .. 

1.thumb.png.d4db2c1568b281f857d5b1c36649e4b0.png


لكن ما اريد معرفته هو طريقة عمل set لنوع الصورة .. على سبيل المثال فى الصورة الثانية انا اعرف كيف اعمل set للاسم والعنوان والتاريخ وغيره .. اما الصورة لا اعرف كيف اعمل لها set 

3.thumb.png.4c63a4c5080ea44c66c9f0d691560c0d.png


طريقتى فى البرمجة كالتالى .. ا ولا انا بعمل كلاس بضيف فيه الدالة اللى بستدعيها عند عمل الاضافة والحذف وغيره كما فى الصورة الثالثة ..

2.thumb.png.c19d6f4a9ba4d29cd053cb9c5f7c2b58.png

 

ثانيا بروح على الفورم وبعمل دالة باسم setValues (كما فى الصورة الثانية )وفيها بعمل set لجميع البيانات عدا الصورة لاننى لا اعرف كيف

اخيرا ببرمج زر الاضافة كما فى الصورة الاخيرة ..  

4.thumb.png.e5bffbbf749efd2091af8c5e26d78c62.png


وهل هذه طريقة جيدة فى البرمجة ام ان هناك طريقة افضل منها ؟؟ ارجو الاجابة على السؤالين 
 

شكرا وأسف على الاطالة 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

هل قمت بنسخ الكود بأكمله؟؟

أعتقد أن سؤالك يتطلب هذا الجزع فقط 

pstmt.setString(1, "sample image");
//Inserting Blob type
InputStream in = new FileInputStream("E:\\images\\cat.jpg");

// setBlob الجزء الذي سألت عنه 

pstmt.setBlob(2, in);


بعد ذلك قم بعمل ()execute لل PreparedStatement.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1
// connect to the Data Base 
String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");

// create a prepaired statement 
PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");

//set values to the placehplders

pstmt.setString(1, "sample image");
//Inserting Blob type
InputStream in = new FileInputStream("E:\\images\\cat.jpg");
pstmt.setBlob(2, in);

بعد ذلك قم بعمل ()execute لل PreparedStatement.

مثال:

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertImageToMySqlDB {
   public static void main(String args[]) throws Exception{
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?,?)");
      pstmt.setString(1, "sample image");
      //Inserting Blob type
      InputStream in = new FileInputStream("E:\\images\\cat.jpg");
      pstmt.setBlob(2, in);
      //Executing the statement
      pstmt.execute();
      System.out.println("Record inserted......");
   }
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 13 دقائق مضت قال Yomna Raouf:

// connect to the Data Base 
String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");

// create a prepaired statement 
PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");

//set values to the placehplders

pstmt.setString(1, "sample image");
//Inserting Blob type
InputStream in = new FileInputStream("E:\\images\\cat.jpg");
pstmt.setBlob(2, in);

بعد ذلك قم بعمل ()execute لل PreparedStatement.

مثال:


import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertImageToMySqlDB {
   public static void main(String args[]) throws Exception{
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?,?)");
      pstmt.setString(1, "sample image");
      //Inserting Blob type
      InputStream in = new FileInputStream("E:\\images\\cat.jpg");
      pstmt.setBlob(2, in);
      //Executing the statement
      pstmt.execute();
      System.out.println("Record inserted......");
   }
}

 

 

للأسف جربت هذه الاكواد ظهرلى اخطاء ولم تنجح 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...