البحث باستخدام اكثر من حقل
#1
السلام عليكم ورحمة الله وبركاتة
عند البحث عبر اكثر من حقل . في SQL SERVER UK عن طريق StoredProcedure K
نكتب . 
كود :
ALTER proc [dbo].[SelectMainAcc] @ID_Acc varchar(50) as select acc_char.[id_acc],acc_char.[Name_acc],acc_char.[main_acc]as mainacc,acc1.[Name_acc] as Tarhil,acc_char.[palance] from acc_char inner join acc_char as acc1 on acc1.id_acc=acc_char.main_acc where (acc_char.id_kind=1 and acc_char.View_f=2 and   CONVERT (varchar,acc_char.[id_acc])+ acc_char.[Name_acc] like '%'+@ID_Acc+'%')

والجزء المهم في الكود هو التحويل الى VARCHAIR . لان رقم الحساب ID_ACC  من نوع INTEGER

كود :
CONVERT (varchar,acc_char.[id_acc])+ acc_char.[Name_acc] like '%'+@ID_Acc+'%')
ولكن لو اردنا كتابة هذا الكود ضمن QUERY  . كيف سيتم التحويل .
مع العلم في الكود التالي يعمل اذا كان محتوى EDIT  ارقام حتى لوكانت VARCHAR . مثل حقل TEL

كود :
 with DM.FDQuery1 do  begin    Close;    SQL.Clear;    SQL.Add('select id_acc  as "رقم الحساب" ,name_acc as "اسم الحساب" from access');    SQL.Add('where id_kind =0 and VEW_ACC=true');    SQL.Add('and ( id_acc like'+ QuotedStr('%'+LBLEDT_FatherAcc.Text +'%' ) + ')');    SQL.Add('or ( name_acc like'+ QuotedStr('%'+ LBLEDT_FatherAcc.Text +'%' ) + ')');    SQL.Add('or ( tel like'+ QuotedStr('%'+ LBLEDT_FatherAcc.Text +'%' ) + ')');    Open();  end;

مع جزيل الشكر
الرد
#2
السلام عليكم
مشكلتك منطقية اكثر منها برمجية
ان كنت تريد ان تتعامل مع الارقام كنص لماذا تحفظها كرقم !!!
الأرقام لا يتم التعامل معها كنصوص في حالة حفظها كرقم تعامل معها كأرقام في حالة حفظتها كنص تعامل معها كنصوص
يمكنك استخدام Between بدل التعامل معها كنص ؟
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#3
وعليكم السلام .
لكنها في StoredProcedure تعمل بشكل جيد. بعد عمل
كود :
CONVERT (varchar,acc_char.[id_acc])


ثم انها شجرة حسابات من الضروري ان تكون integer  من اجل الربط مع الجداول الاخرى .
يعني ان احتاج تحويلها الى string  في حالة الاستعلام فقط .
اما ان وضعتها varchar علي ان احولها الى ارقام في اكثر من مكان
مثلا عند اريد ان استخرج max id_acc


الملفات المرفقة
.jpg   tree.jpg (الحجم : 68.04 ك ب / التحميلات : 18)
الرد
#4
جملة الاستعلام التي تنجح في StoredProcedure تنجع حتى في مكون الاستعلام .
وايضا لاتحول الى نص وانما قم بهذا التحويل اذا كان له ضرورة في برنامجك فقط وانت تملاء اي اداة معينة اخرى .
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • ali mohamme
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم