منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلة فى اجراء مخزن - عند البحث بنص - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكلة فى اجراء مخزن - عند البحث بنص (/showthread.php?tid=46018)



مشكلة فى اجراء مخزن - عند البحث بنص - new_programer - 07-05-23

السلام عليكم 

لدي كود اجراء  مخزن عبارة عن البحث برقم الصنف او الكود او الاسم :
الكود يعمل  عند البحث بالرقم  او كود الصنف 
لكن عند البحث بالاسم  يظهر خطاء بسبب نوع الحقل 

لكن لم اتمكن من معالجة الخطاء
صورة الخطاء
[attachment=28943]

مرفق   البرنامج  كود الاجراء المخزن+  سكربت الجدول + سكربت الاجراء المخزن

[attachment=28945]


RE: مشكلة فى اجراء مخزن - عند البحث بنص - ramy alfoly - 07-05-23

(07-05-23, 12:08 AM)new_programer كتب : السلام عليكم 

لدي كود اجراء  مخزن عبارة عن البحث برقم الصنف او الكود او الاسم :
الكود يعمل  عند البحث بالرقم  او كود الصنف 
لكن عند البحث بالاسم  يظهر خطاء بسبب نوع الحقل 

لكن لم اتمكن من معالجة الخطاء
صورة الخطاء


مرفق   البرنامج  كود الاجراء المخزن+  سكربت الجدول + سكربت الاجراء المخزن

PHP كود :
ALTER PROCEDURE [dbo].[SearchItems2]
@
itemName varchar(100)=null
as
begin
if ISNUMERIC (@itemName )=0
begin
declare @SearchName Varchar(100)
set @SearchName=N'%' +@itemName +'%'
select itemCode,UintID,itemName from dbo.itemsTbl  where itemName like @SearchName /* or itemCode=@itemName */
end
else
begin
     
declare @barcode bigint
     set 
@barcode =CAST(@itemName as bigint)
 
    select itemCode,UintID,itemName from dbo.itemsTbl  where UintID=@barcode or itemCode=@itemName

end 
end 



RE: مشكلة فى اجراء مخزن - عند البحث بنص - new_programer - 07-05-23

(07-05-23, 06:42 AM)ramy alfoly كتب :
(07-05-23, 12:08 AM)new_programer كتب : السلام عليكم 

لدي كود اجراء  مخزن عبارة عن البحث برقم الصنف او الكود او الاسم :
الكود يعمل  عند البحث بالرقم  او كود الصنف 
لكن عند البحث بالاسم  يظهر خطاء بسبب نوع الحقل 

لكن لم اتمكن من معالجة الخطاء
صورة الخطاء


مرفق   البرنامج  كود الاجراء المخزن+  سكربت الجدول + سكربت الاجراء المخزن

PHP كود :
ALTER PROCEDURE [dbo].[SearchItems2]
@
itemName varchar(100)=null
as
begin
if ISNUMERIC (@itemName )=0
begin
declare @SearchName Varchar(100)
set @SearchName=N'%' +@itemName +'%'
select itemCode,UintID,itemName from dbo.itemsTbl  where itemName like @SearchName /* or itemCode=@itemName */
end
else
begin
     
declare @barcode bigint
     set 
@barcode =CAST(@itemName as bigint)
 
    select itemCode,UintID,itemName from dbo.itemsTbl  where UintID=@barcode or itemCode=@itemName

end 
end 

شكرا  جدا  جدا  .

تم التعديل والكود يعمل بنجاح

شكرا  ليك ربنا يجعلة فى ميزان حسناتك ويذيدك من علمه .
اشكرك جدا على المساعدة


RE: مشكلة فى اجراء مخزن - عند البحث بنص - ramy alfoly - 07-05-23

PHP كود :
ALTER PROCEDURE [dbo].[SearchItems2]
@
itemName varchar(100)=null
as
begin
declare @SearchName Varchar(100)
set @SearchName=N'%' +@itemName +'%'
select itemCode,UintID,itemName from dbo.itemsTbl  where itemName like @SearchName or itemCode like @SearchName
end 



RE: مشكلة فى اجراء مخزن - عند البحث بنص - new_programer - 07-05-23

تمام تسلم

ربنا يكرمك ويزيدك من علمة

شكرا جدا جدا

ممكن استفسار اخر .
ممكن اعرف اى كود هيكون اسرع مع البيانات الكبيرة


RE: مشكلة فى اجراء مخزن - عند البحث بنص - ramy alfoly - 07-05-23

(07-05-23, 10:26 PM)new_programer كتب : تمام تسلم  

ربنا يكرمك ويزيدك من علمة

شكرا جدا جدا

ممكن استفسار اخر  .
ممكن اعرف  اى كود هيكون اسرع مع البيانات الكبيرة

الافضل ان تجعل البحث يبدأ عند إدخال 3 أحرف فأكثر (سواء حرف أو رقم) بحيث تقلص النتائج لدرجة معقولة وتتجنب قدر الإمكان كثرة النتائج التي تسبب بثقل الداتاجريد 
مثل وضع هذا الكود في بداية searchItems
PHP كود :
If txt.Text.Trim.Length 3 Then
    dvg
.DataSource Nothing
    Exit Sub
End 
If 
كلما كان شرط عدد الأحرف أكبر لبدء البحث كانت النتائج خفيفة على الداتاجريد مثلا تجعلها 5 أو أكثر حسب ما تراه مناسب


RE: مشكلة فى اجراء مخزن - عند البحث بنص - kebboud - 08-05-23

(07-05-23, 12:08 AM)new_programer كتب : السلام عليكم 

لدي كود اجراء  مخزن عبارة عن البحث برقم الصنف او الكود او الاسم :
الكود يعمل  عند البحث بالرقم  او كود الصنف 
لكن عند البحث بالاسم  يظهر خطاء بسبب نوع الحقل 

لكن لم اتمكن من معالجة الخطاء
صورة الخطاء


مرفق   البرنامج  كود الاجراء المخزن+  سكربت الجدول + سكربت الاجراء المخزن
أخي قبل أن تتعلم البرمجة يجب عليك أن تتعلم لغتك الجميلة 
الخطاء -------> الخطأ