الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية ارسال صورة لقاعدة sqlite وقرائتها

بدأه هدف الشمالي في 24 أغسطس 2010 · 15 رد · 1,287 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ياإخوان السلام عليكم لدي سؤال وهو عن:

كيفية ارسال صورة لقاعدة sqlite ثم قرائتها ؟

الحقيقة أني حاولت استخدام Class Blob التابع للـ sqlite ولكن لم أنجح وهو على الرابط :

http://www.ch-werner.de/javasqlite/SQLite/Blob.html

فياليت الكود كامل لهاتين العمليتين (الإرسال , والقراءة),

تم تعديل هذه المشاركة بواسطة هدف الشمالي في 24 أغسطس 2010 في 15:12

#2
هدف الشمالي كتب:

ياإخوان السلام عليكم لدي سؤال وهو عن:

كيفية ارسال صورة لقاعدة sqlite ثم قرائتها ؟

الحقيقة أني حاولت استخدام Class Blob التابع للـ sqlite ولكن لم أنجح وهو على الرابط :

http://www.ch-werner.de/javasqlite/SQLite/Blob.html

فياليت الكود كامل لهاتين العمليتين (الإرسال , والقراءة),

انظر الى هذا المووضوع

/index.php?showtopic=214963

لكنه على الـ MySQL لكن طبعا اوامر الـ database كلها واحد فى الجافا

اتمنى ان يكون ساعدك

Software Developer
Mahmoudkelany.com


 

#3

لفكره كلها أن تخزن المصفوفات البتتات (array of bytes ) في قاعدة البيانات ! (و إن كنت لا أنصحك بهذا... فمن وجهة نظري, تخزين المسار أفضل)

تم تعديل هذه المشاركة بواسطة هويدي في 24 أغسطس 2010 في 18:01

#4

تخزين الصورة على قاعدة البيانات يضمن لك أن يتم عمل أرشفة لها مع القاعدة

كما يضمن لك في قواعد بيانات كبيرة مثل أوراكل أن تستفيد من آليات البحث فيها

لذا فأنا أفضل التخزين في قاعدة البيانات

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 24 أغسطس 2010 في 23:17

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

عند تنفيذ البرنامج يطبع الإستثناء التالي :

no such table: photos

ثم قمت بإرسال صورة أخرى لها إمتداد آخر ولم يطبع أي إستثناء ولكن لم أجد أي شيء بالقاعدة .

تم تعديل هذه المشاركة بواسطة هدف الشمالي في 25 أغسطس 2010 في 15:43

#6
هدف الشمالي كتب:

عند تنفيذ البرنامج يطبع الإستثناء التالي :

no such table: photos

ثم قمت بإرسال صورة أخرى لها إمتداد آخر ولم يطبع أي إستثناء ولكن لم أجد أي شيء بالقاعدة .

هل لك ان ترسل لنا برنامجك لمشاهده ماذا فعلت ؟

Software Developer
Mahmoudkelany.com


 

#7
Mahmoud Kelany كتب:

هل لك ان ترسل لنا برنامجك لمشاهده ماذا فعلت ؟

عفواً أخي كنت استدعي كلاس وأعدل على كلاس آخر لذلك كان يظهر الإستثناء السابق أما الإستثناء الصحيح فهو التالي :

Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: org.sqlite.PrepStmt.setBlob(ILjava/io/InputStream;)V
        at newpackage.StorePhoto1.store1(StorePhoto1.java:15)
        at newpackage.NewJFrame1.btnAddActionPerformed(NewJFrame1.java:213)
        at newpackage.NewJFrame1.access$100(NewJFrame1.java:31)
        at newpackage.NewJFrame1$2.actionPerformed(NewJFrame1.java:92)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

==============================

تم تعديل هذه المشاركة بواسطة محمد عرسان في 26 أغسطس 2010 في 19:07 — السبب: add code tag

#8

هذي الحزمة التي فيها البرنامج , وطبعاً لابد من وجود درايفر sqlit:

newpackage.7z

تم تعديل هذه المشاركة بواسطة هدف الشمالي في 25 أغسطس 2010 في 20:45

#9

دا تعريف الخطأ اللى حدث

شوف كدا وراجع الكود بتاعك

اقتباس

public class AbstractMethodError extends IncompatibleClassChangeError

Thrown when an application tries to call an abstract method. Normally,

this error is caught by the compiler;

this error can only occur at run time if the definition of some class has incompatibly

changed since the currently executing method was last compiled.

Software Developer
Mahmoudkelany.com


 

#10

يبدو أن نسخة الـ JDBC الخاصة بك قديمة نوعاً ما بحيث لا تقوم بعمل implementation لـ Blob

ابحث عن نسخة أحدث

فإن لم تجد فأيقن أن أمامك أحد حلين أن تقوم ببناء JDBC لقاعدة بيانات sqlite

أو أن تعتبر أن موضوع الصور ميؤوس منه على هذه القاعدة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#11

ما قومت انت فى الكود الذى رفعته

هو تعديل لبيانات قاعده البيانات واوامر Sql

الخاصه باسم الجدول وقاعده البيانات بتاعتك

فمن المفترض ان تعمل بشكل جيد

فانا عملت المثال على قاعده بيانات mySQL واشتغلت

وهذا هو المثال مع قاعده البيانات

photostore.zip

جرب ان تضيف الصور وسوف يعمل معك بشكل جيد

وانا ضفت صوره اسمها mm اكتب اسمها واعمل display

انما موضوع قاعده البيانات بتاعتك فشوف البرنامج الخاص بك كما قال اخويا علاء

Software Developer
Mahmoudkelany.com


 

#12

ياإخوان معقولة القاعدة ماتدعم إضافة الصور , طيب شوفو هذا الرابط : http://www.ch-werner.de/javasqlite/

إنظرو للكلاسات الموجودة فيه هناك 3 كلاسات وهن Blob و BlobR و BlobW أعتقد أن من مهامها إضافة الصور وغيرها

وعندي الآن مشكلة في تعريف هذه الكلاسات , ماني عارف إيش المشكلة فقد عملت التالي :

استدعيت المكتبة بالسطر :

import org.sqlite.*;

ثم حاولت أعمل كائن من الكلاس Blob هكذا :

Blob b =new Blob();

ولكن في النت بينز يضع خط أحمر تحت Blob أي أن هناك خطأ , والغريب أنني لما إستعرضت الدرايفر لم أجد هذه الكلاسات , فهل تكون في نسخة أخرى .

تم تعديل هذه المشاركة بواسطة هدف الشمالي في 26 أغسطس 2010 في 20:37

#13

هذا تفسير الخطأ الذي ظهر لك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14
Blob b =new Blob();

تأكدي من اين تقومين بالاستيراد لل Blob

يمكن انك اضفتي Package مختلفة و لا تنتمي لل SQLITE

والله اعلم

#16
محمد عرسان كتب:

Blob b =new Blob();

تأكدي من اين تقومين بالاستيراد لل Blob

يمكن انك اضفتي Package مختلفة و لا تنتمي لل SQLITE

والله اعلم

شكراً لك أخي على المشاركة ولكن أنا رجل ،،،،،،

مواضيع مشابهة