الانتقال إلى المحتوى

مشكلة كود البحث


j_google_j

Recommended Posts

شباب هذا كود البحث ارجاء الافاده عن المشاكل اللتي تواجهني
1- هو يعمل بشكل جيدا بس المشكله ان لا يجري البحث على اكثر من جدول ايش المشكله
وما الحل لكي يعمل بحث على اكثر من جدول
2- اذا تم البحث في جدول واحد لا استطيع التعديل في السجلات اللي تم البحث عنها ما المشكله
وما الحل لكي يتم التعديل في السجلات اللي تم البحث عنها
وشكراً وربنا يعطيكم العافيه


انسخ الكود وعمل له لص في txt لكي ترى الكود بشكل صحيح من اليسار الى اليمين
DECLARE
n varchar(50):=:txt_name;
CURSOR GETEMP IS
SELECT EMPNO,ENAME,JOB,HIREDATE,MGR,SAL,COMM
FROM EMP
where ename like '%'||n||'%';
BEGIN
GO_BLOCK('EMP');
FIRST_RECORD;
OPEN GETEMP;
LOOP
FETCH GETEMP INTO :EMP.EMPNO,:EMP.ENAME,:JOB,:HIREDATE,:MGR,:SAL,:COMM;
EXIT WHEN GETEMP%NOTFOUND;
NEXT_RECORD;
END LOOP;
CLOSE GETEMP;
END;

رابط هذا التعليق
شارك

المشكلة الأولى :

سبب عدم عمل الكود على جداول اخرى لأن الكود خص بـ جدول emp للمستخدم scott فقط قم بتغير اسم الجدول واسماء الأعمدة حتى يعمل هذا الكود على جدول اخر

المشكلة الثانية :

أثناء جلب البيانات بـCURSOR لاتستطيع التعديل في السجلات لأنه يستخدم لعرض البيانات

رابط هذا التعليق
شارك

مشكورين اخواني على الردود



اخ SKY INFORMATION انا عملت جداول اضافيه واسماء الاعمده يعمل البحث وتظهر النتائج بس المشكله ان تظهر معها رساله تقول ادخل قيمه تعمل اوكى تظهر مره اخرى وعلى طول كذا ولا تستطيع حذفها او التغير فيها الى ما يتم اغلاق المتصفح ... لو عملت VIEW يعني بس عرض بيانات ولا استطيع التعديل فيها يعني بكون خطأ فادح في اوراكل طيب لو انا عملت برنامج مثل الذي بعمل بيانات لموظفين اداره وفيها مائات الموظفين واريد التعديل في احد بيانات الموظفين هل ابحث عنه واحد واحد سجل سجل واضيع الوقت ام اعمل بحث عن الموظف بس كيف اعدل فيه وهو لا يكون يقبل العديل ...؟ وشكراً
ومشكور اخي ايهاب

ارجو من لديه الاجابه يفيد الجميع

رابط هذا التعليق
شارك

السلام عليكم و رحمة الله و بركاته

أخي الكريم
j_google_j

طريقة البحث التي اتبعتها هي طريقة غير عملية اذا كنت تريد التعامل مع البيانات من تعديل و ادخال غيره

لتقوم بالعمل علي البيانات مع اضافة امكانية البحث عن موظف واحد فقط مثلا

يمكن ان تقوم بعمل بلوك مبني علي قاعدة بيانات database block

و ان تقوم بعمل بحث عن طريق الاتي

1-عمل بلوك للبحث
2-انشاء ليست ايتم تتضمن عناصر البحث بمعني بحث ب و سيكون مثلا كالتالي

label				 value
--------------------------------------------
  رقم الموظف		   empno
  إسم الموظف		   ENAME



3-عمل TEXT ITEM لقيمة البحث بمعني بحث عن
4-عمل ايضا زر بحث و بحث جديد اذا رغبت
5-في زر البحث قم بتكوين DEFAULT WHERE للبلوك حسب ما اختار المستخدم مثلا لنقل انه اختار
بحث ب =إسم الموظف (ENAME)

و في خانة بحث عن كتب 'SCOTT'
قم بالتالي

DECLARE
  v_where   VARCHAR2 (10000);
BEGIN
  v_where := 'UPPER('||:search_with||')' || ' LIKE  UPPER(' || :searc_for||')';
  SET_BLOCK_PROPERTY ('EMP', default_where, v_where);
  GO_BLOCK ('EMP');

  IF FORM_SUCCESS
  THEN
  DO_KEY ('EXECUTE_QUERY');
  END IF;
END;




و بعد تنفيذ الاستعلام حسب نتيجة البحث يمكنك التعامل مع البيانات كما تريد

هذه هي طريقة مبسطة جدا للبحث
إبدأ منها

مع تمنياتي بالتوفيق

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  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.

جاري التحميل
×
×
  • أضف...

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

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