الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مشكلة في الكود

Featured Replies

بتاريخ:

السلام عليكم اخواني
عندي هذا الكود


declare
cursor curs is select * from main where name=:main.search1;
a number(4);
b varchar2(30);
c date;
d varchar2(15);
e date ;
f number(15);
g number(15);
h varchar2(10);
i number(2);
j varchar2(15);
k varchar2(15);
l long raw ;


begin open curs;
loop
fetch curs into a,b,c,d,e,f,g,h,i,j,k,l; exit when curs%notfound;
:main.id:=a;
:main.name:=b;
:main.birth_date:=c;
:main.format:=d;
:main.format_date:=e;
:main.dewan_num:=f;
:main.PHONE_NUM:=g;
:main.status:=h;
:main.no_of_children:=i;
:main.studying:=j;
:main.job:=k;
:main.picture := l ;

end loop;


end;



لما اريد اشغله بيطلعلي هذا الخطا
bad bind variable "main.picture"

ما الحل اخواني الكرام ؟
هل ان المشكلة تكمن في انه لا يمكن استعمال الصور في الكورسور ؟ اما ماذا ؟
ارجو الافادة و المساعده
و جزاكم الله الف خير
ملاحظة
هناك صورة توضح شكل الفورو اللي انا شغال عليه

post-71502-1247735776_thumb.jpg

تم تعديل بواسطة mustafagamiel

بتاريخ:

السلام عليكم

هل الهدف من هذا الكود هو عملية بحث ؟؟؟
اذا كانت اجابتك نعم فاستخدم الـــ DEFUALT-WHERE
بالنسبة للخطأ تأكد من نوع الايتم على الفورم وعلى الجدول...

بتاريخ:

أخي الكريم...
حاول ان تجعل حقل الصورة من نوع long raw

بتاريخ:

السلام عليكم

بالنسبة لحل هذه المشكلة
لديك طريقتين
إن كنت ستحفظ الصورة في الداتا بيز وهذا ليس مفضل لانه سيسبب بطء شديد وواضح ستخدم في البحث بدل الكيرسور استخدم default_where كما قال اخي pli.oracle
وتستغنى عن الكيرسور
سيكون شكل الكود كده

go_block('main');
set_block_property(''main ',default_where,' name=:main.search1');
execute_query;



ملحوظة ضع الزر في بلوك أخر +بلوك ال main يكون متصل بالجدول وليس non database block

======================================
الحل الاخر وهو المفضل
إنك تخزن في الجدول فقط مسار الصورة الموجود على الهارد ديسك يعني بدل ماتخزن الصورة لا خزن فقط مسارها
وتستخدم نفس الكود بتاعك لكن زود فقط جملة

READ_IMAGE_FILE(this the path , 'any', 'main.pic');



موفق

بتاريخ:

السلام عليكم
اخي مصطفى كلام سليم ... ولكن ماذا لو تم تغيير مسار الصورة او تم حذفها ؟؟

بتاريخ:

السلام وعليكم...
اخي مصطفي ... عندي سؤالين:

الأول :

READ_IMAGE_FILE(this the path , 'any', 'main.pic');


ماذا تعني بكلمة any (اعتقد انها اسم الجدول )

الثاني :
هل استطيع استخدام get_file_name في مثل هذا الوضع
للتوضيح :عند تحديد صورة معينة باستخدام دالة get_file_name ثم الضغط علي زر حفظ ...هل سيحفظ الصورة ام مسارها
بتاريخ:

السلام عليكم

اعتقد ان كلمة ANY معناها هنا نوع الصورة هل هي JPG او GIF او BMP .... الخ.

السؤال التاني:
ازا استخدمت get_file_name سيقوم بتخزين الصورة وليس مسارها...
بالتوفيق

بتاريخ:

السلام وعليكم .....
أخي palistine.Oracle

لحتي الان مش مستوعب العملية...اعذرني

الان.. عندي جدول به حقلين (فرضا) الرقم والصورة ...عند بناء بلك بيانات لهذا الجدول يظهر بند text item للرقم وبند صورة
تمام ؟؟؟
كيف احدد مسار الصورة (برمجيا او عن طريق الفورم) ... لا اعتقد انه عن طريق الفورم لانك كما قلت اعلاه لا نستطيع استخدام دالة get_file_image لانه سيقوم بحفظ الصورة وليس مسارها

واذا كان عن طريق الكود فهذا ليس عمليا لانه كلما تم استيعاب موظف جديد نذهب للكود ونضيف المسار لصورته

الرجاء شرح الامر لو سمحت ؟؟؟ 

بتاريخ:
  • كاتب الموضوع

جزاكم الله الف خير و سوف اجرب كل اللي كتبتوه

بتاريخ:
  • كاتب الموضوع
السلام عليكم

بالنسبة لحل هذه المشكلة
لديك طريقتين
إن كنت ستحفظ الصورة في الداتا بيز وهذا ليس مفضل لانه سيسبب بطء شديد وواضح ستخدم في البحث بدل الكيرسور استخدم default_where كما قال اخي pli.oracle
وتستغنى عن الكيرسور
سيكون شكل الكود كده
go_block('main');
set_block_property(''main ',default_where,' name=:main.search1');
execute_query;



ملحوظة ضع الزر في بلوك أخر +بلوك ال main يكون متصل بالجدول وليس non database block

======================================
الحل الاخر وهو المفضل
إنك تخزن في الجدول فقط مسار الصورة الموجود على الهارد ديسك يعني بدل ماتخزن الصورة لا خزن فقط مسارها
وتستخدم نفس الكود بتاعك لكن زود فقط جملة

READ_IMAGE_FILE(this the path , 'any', 'main.pic');



موفق





اخي جزاك الله خير على هذا الشرح الجميل
بس ممكن توضيح اكثر للطريقة الثانية عشان اطبقه في برنامجي و الله يوفقك
بتاريخ:

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

DECLARE
 PIC_NAME	VARCHAR2(1000); 
BEGIN
PIC_NAME:=GET_FILE_NAME('C:\IMAGE',NULL,'ALLFILES','IMAGEFILE',OPEN_FILE,TRUE);  
READ_IMAGE_FILE(PIC_NAME,'TIFT','EMP_PIC');
END;



بالتوفيق

بتاريخ:
  • كاتب الموضوع

اخواني السلام عليكم
ارجو المساعده كيف اقدر اخزن المسار في الداتا بيز ؟ يعني الصورة اخزنها في الحاسبة
ارجو الافاده و بارك الله فيكم

بتاريخ:

انت شغال على اي ديفيلوبير

بتاريخ:
  • كاتب الموضوع

انا شغال على 6I

بتاريخ:

السلام عليكم
اخي بالنسبه لطريقة عمل الـــ DEFAULT-WHERE

اولا قم بعمل 2 BLOCK الاول ضع عليه حقل NON DTA BASE وقم بوضع زر وداخل هذا الزر اكتب الكود التالي:

go_block('main');
set_block_property(''main ',default_where,' name=:main.search1');
execute_query;



حيث : MAIL هو البلوك التاني
NAME: هو العمود الموجود بالجدول
SEARCH1: هو الحقل الموجود على البلوك الاول.

والبلوك التاني خليه تابيولر.
-------------------------------------
بالنسبه للصور ازا كان عندك عدد الصور مو كبير قم بتخزينها في الداتا بيز ولكن يجب ان يكون نوع حقل الصورة بالجدول LONG RAW
وضع على الفورم زر واكتب الكود التالي بداخله:

DECLARE
 PIC_NAME	VARCHAR2(1000); 
BEGIN
PIC_NAME:=GET_FILE_NAME('C:\IMAGE',NULL,'ALLFILES','IMAGEFILE',OPEN_FILE,TRUE);  
READ_IMAGE_FILE(PIC_NAME,'TIFT','EMP_PIC');
END;



حيث :

EMP_PIC : هو اسم ايتم الصورة الموجود على الفورم

بالتوفيق

بتاريخ:
  • كاتب الموضوع

السلام عليكم اخي الكريم
بخصوص الصور
لنفرض انه انا عندي عدد كبير من الصور و لا اريد ان اخزنها في الداتا بيز (اريد خزن الصور على الهارد )
ماذا اكتب في الكود ؟ و جزاكم الله الف خير

بتاريخ:
  • كاتب الموضوع
دي شغالة كويس انا جربتها
http://www.araboug.org/ib/index.php?showto...mp;#entry155552



السلام عليكم اخي
كمان مش ضابطه معي و لا اعرف ما السبب

تم تعديل بواسطة yasiraq

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

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

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.