السلام عليكم
الى اعضاء هذا المنتدى الرائع
ارجو منكم مساعدتى في حل هذه المشكلة التى طالت و ان بحث لها عن حل و هى:
كيف يمكن تخزين صورة بامتداد jpg في قاعدة بيانات من نوع اكسس في دلفى 7
السلام عليكم
الى اعضاء هذا المنتدى الرائع
ارجو منكم مساعدتى في حل هذه المشكلة التى طالت و ان بحث لها عن حل و هى:
كيف يمكن تخزين صورة بامتداد jpg في قاعدة بيانات من نوع اكسس في دلفى 7
مثال مبسط من كود لدي استخدمه في التعامل الصور في مختلف قواعد البيانات مثل اكسس وارواكل
procedure TForm1.Button1Click(Sender: TObject);
begin
// save the image into the disk then load it in the image
TBLobField(AdoQuery1.FieldByName('Picture')).SaveToFile('temp.jpg');
Image1.Picture.LoadFromFile('temp.jpg');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// open image and show the image component then add it to the table, beware the table have to be in edit or insert mode
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
TBlobField(AdoQuery1.FieldByName('Picture')).LoadFromFile(OpenPictureDialog1.FileName);
end;
end;ملاحظة، لابد ان يكون نوع الحقل blob في قاعدة البيانات
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
هناك مشكلة فعلا في التعامل مع jpg في قاعدة البيانات و لكن دائما هناك حل
انظر موقع About
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
لا ادري لماذا تطلق كلمة مشكل عندما لا يوجد شيئ جاهز!
مشاكل الصور في قواعد البيانات .. الحلول .. مثال عملي ...من موقع الأخ عروة
أخي وائل، لا يوجد مشكلة في التعامل مع الصور او الملفات وتخزينها ضمن قواعد البيانات
المشكلة التى قد تحدث مع اكسس، وهي عندما تريد عرض صور تم تخزينها بواسطة اكسس نفسه وعليه على قاعدة بياناته
لانه سوف يضيع بيانات اضافية ضمن الحقل المخزن، لذلك لا يمكن عرض الصور مباشرة، والموقع الذى ذكره الاخ وائل هوا الخاص بهذه المشكلة فقط وليس للتخزين
لكن في حالة اعتماد دلفي كأساس للتخزين والاسترجاع لن يوجد هناك مشاكل
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
لا يمكن استخدام DBImage نهائيا مع jpg و ذلك لانها غير متوافقة.
و لحل ذلك يجب استخدام Image بدل من DbImage لحل المشكلة
اقتباسأخي وائل، لا يوجد مشكلة في التعامل مع الصور او الملفات وتخزينها ضمن قواعد البياناتالمشكلة التى قد تحدث مع اكسس، وهي عندما تريد عرض صور تم تخزينها بواسطة اكسس نفسه وعليه على قاعدة بياناته
لانه سوف يضيع بيانات اضافية ضمن الحقل المخزن، لذلك لا يمكن عرض الصور مباشرة، والموقع الذى ذكره الاخ وائل هوا الخاص بهذه المشكلة فقط وليس للتخزين
لكن في حالة اعتماد دلفي كأساس للتخزين والاسترجاع لن يوجد هناك مشاكل
صحيح نعم هذه المشكلة فقط اذا كنت قد ادخلت الصور باستخدام اكسس اي من واجهة اكسس
اما في حال التعامل من دلفي فلا يوجد اي مشكلة. اسف لم انتبه الى انّ المشكلة من اكسس
اذا حل المشكلة كما قال اخي محمد نسمان و الحل ايضا موجود ضمن الرابط الذي وضعه محمد عبد العزيز
اقتباسلا ادري لماذا تطلق كلمة مشكل عندما لا يوجد شيئ جاهز!
كنت اتكلم عن هذه المشكلة و ليس عن عدم وجود شيئ جاهز.
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
السلام عليكم
شكر لكل من رد
ولكن بالنسبة لموقع عروة نت قمت بتنزيل الملف المرفق لتخزين الصورة في اكسس و قمت بتجريبه و كان فعال ولكن حين قمت بتغيير مسار قاعدة البيانات الى القاعدة الخاصة بى و كذلك اسم الجدول حدث خطا وهو ADOTable1Image ليست معرفه مامعنى هذا الخطا
ارجو منكم الايضاح
المبرمجة الصغير2006 كتب:القاعدة الخاصة بى و كذلك اسم الجدول حدث خطا وهو ADOTable1Image ليست معرفه مامعنى هذا الخطا
السلام عليكم
لوكان عندك مكون AdoTable1 و به حقل مسمى Image
يجب ااضغط مرتين على المكون AdoTable1 ثم اضافة كل الحقول...
أخي وائل، ماقصدته هو ان عدم قرائى Help يؤدى الى سوء التعامل ثم القول: مشكلة...
اقصد، ماذا لو كانت الصورة PNG او PCX أو غيرها...
الخطاء الناتج هو سوء برمجة وتعامل مع الكود ولا يرجع ذلك للمكون و القول هو لا يدعم تلك اللاحقة...
وما فائدة البرمجة اذن ؟
السلام عليكم ورحمة الله وبركاته
اشكر لكم كل مجهودكم الذي بدلتموه في توضح الصورة بالنسبة لي ولكن تعقيبا على ما قاله الاعضاء لدي مكون باسم ADOTable1 ولدي حقل باسم image وقمت بتحويل الى مسار قاعدتي فقط وربطت ADOTable1 بجدولي الدي في القاعدة ومع هذا يعطي في نفس النتيجة يعطي رسالة بوجود خطأ في ADOTable1 بأن الجدول مغلق وهذه هي صورة من نص الرسالة
Project project1.exe raised exception class EDatabaseError with message 'ADOTable1: Cannot perform this operation on closed dataset'.process stopped.use step or to continue
شكرا لكم جميعا على هذه الحلول
فعلا عندما عملت اكتف تروا للجدول تمت عملية التخزين في الجدول ولكن اريد ان اتحقق من انه فعلا تم تخزينها بامتداد jpg و ليس bmp لانه عندما اريد اعرضها في الموقع من ملف القاعدة الدى تم فيه التخزين لا يتم العرض دليل على انها تم تخزينها bmp و ليس jpg
ارجوا منك مساعدتى
هذا الموضوع مغلق.