منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] مشكلة في كود البحث - نسخة قابلة للطباعة

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

الصفحات: 1 2


مشكلة في كود البحث - khalid475 - 11-11-16

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

الأخوة الأعزاء محتاج مساعدة منكم والسؤال كالتالي : -

في عملية البحث  أريد أن أبحث عن ActionName و VolationFees من خلال VolationCode و ActionNumber

الأكواد كالتالي : 




RE: مشكلة في كود البحث - ممدوح - 11-11-16

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

أخي الكريم، لا تتعب من يريد مساعدك بوضع صورة للأكواد،

ضع الأكواد نصاً، بارك الله فيك

المشكلة في الدالة VolationCode الموضوعة في (cmd.Parameters.Add(VolationCode


RE: مشكلة في كود البحث - khalid475 - 11-11-16

شكرا لك أخي الكريم 

الأكواد كالتالي 

Data 
كود :
Friend Function Load_Volations_Details(ByRef dr As SqlDataReader, ByVal VolationCode As Integer, ByVal ActionNumber As Integer)
           Dim cmd As New SqlCommand("Load_Volations_Details")
           cmd.Parameters.Add("@VolationCode", SqlDbType.Int).Value = CType(VolationCode, Integer)
           cmd.Parameters.Add("@ActionNumber", SqlDbType.Int).Value = CType(ActionNumber, Integer)
           
           Dim retval As Integer = dm.executeReader(cmd, dr)
           Return retval
       End Function


Business 
كود :
Public Function Load_Volations_Details(ByVal VolationCode As Integer, ByVal ActionNumber As Integer)
           p.Load_Volations_Details(dr, VolationCode, ActionNumber)
           Return dr
       End Function


SearchBtn
كود :
ActionOneName.Text = p.Load_Volations_Details(txtFineCode.Text, ActionOne.Text)
       ActionOneFees.Text = p.Load_Volations_Details(txtFineCode.Text, ActionOne.Text)



RE: مشكلة في كود البحث - ممدوح - 11-11-16

المشكلة كما ذكرتها لك في المتغير أوالدالة VolationCode وكذلك على ما أعتقد ActionNumber

فأكوادك ناقصة ليتضح الأمر

فلو ترفق مشروع مصغر فإنه يساعد على الإجابة السريعة.


RE: مشكلة في كود البحث - khalid475 - 11-11-16

النموذج في المرفقات 

شكرا جزيلا ...


RE: مشكلة في كود البحث - ممدوح - 11-11-16

جرب هذا التعديل وطبق نفس الأسلوب مع كل Parameter
كود :
cmd.Parameters.AddWithValue("@VolationCode",VolationCode)

أمر آحر: هل Load_Volations_Details هو StoredProcedure؟
إذا كان كذلك فيبقى إبلاغ Command بأنه كذلك مثل
كود :
cmd.CommandType = CommandType.StoredProcedure



RE: مشكلة في كود البحث - khalid475 - 11-11-16

تم التعديل لكن يظهر نفس الخطأ

Conversion from type 'SqlDataReader' to type 'String' is not valid.


Load_Volations_Details هو StoredProcedure


RE: مشكلة في كود البحث - ممدوح - 11-11-16

ضع StoredProcedure هنا للتأكد منه


RE: مشكلة في كود البحث - khalid475 - 11-11-16

كود :
ALTER PROCEDURE [dbo].[Load_Volations_Details]

@VolationCode int,
@ActionNumber int
as

begin

Select ActionNumber, VolationCode, VolationActionName, VolationFees from VolationsActionsTbl Where VolationCode = @VolationCode And ActionNumber = @ActionNumber
Return

End
وشكرا ..


RE: مشكلة في كود البحث - ممدوح - 11-11-16

أخي الكريم

في Procedure يقوم بإرجاع عدة أعمدة وهي actionnumber,  volationcode,  volationactionname,  volationfees
في حين أن Function Load_Volations_Details يطلب منه قراءة واحدة قيمة Integer

فهناك عدم تطابق المطلوب

فماذا تريد من Procedure Load_volations_details ومن Function Load_Volations_Details أن يقوما به

كود :
ALTER PROCEDURE [dbo].[Load_volations_details]
 @VolationCode INT,
 @ActionNumber INT
AS
 BEGIN
     SELECT actionnumber,
            volationcode,
            volationactionname,
            volationfees
     FROM   volationsactionstbl
     WHERE  volationcode = @VolationCode
            AND actionnumber = @ActionNumber

     RETURN
 END


والمرفق لم يفتح معي لاختلاف الإصدار


أيضا طريقة قراءة executeReader خطأ