الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال فى stored procedure

بدأه shosho842000 في 28 مايو 2010 · 3 رد · 579 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدى stored يتم تنفيذه صحيح على sql ولكن فى vb لا يظهر اى شىء

حيث ان stored كالاتى

ALTER PROCEDURE [dbo].[showemp]
	-- Add the parameters for the stored procedure here
	@id int,
	@date datetime 
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
SELECT     dbo.emp.name, dbo.salary.sal9
FROM         dbo.emp INNER JOIN
                      dbo.salary ON dbo.emp.id = dbo.salary.emp_id
WHERE dbo.salary.id=@id AND dbo.salary.date=@date 

END

حيث من المفروض ظهور الاسم وهكذلك الحقل sal9

لما بنفذه من خلال view بيرجع بقيم فعلا لكن فى vb عند تمرير الرقم من خلال textbox لا يتم ظهور اى شىء

Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
        If cn.State = ConnectionState.Open Then cn.Close()
        cn.Open()
        cmd.Connection = cn
        cmd.CommandType = CommandType.StoredProcedure
        cmd.CommandText = "showemp"
        cmd.Parameters.Add("@id", SqlDbType.Int).Value = TextBox1.Text
        cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = TextBox31.Text
        dr = cmd.ExecuteReader
        While (dr.Read)
            TextBox2.Text = dr("name")
        End While


    End Sub

وشكرااااااااااااااااااا

#2

جربي تحويل قيم البرامترات إلى النوع المطلوب :

        cmd.Parameters.Add("@id", SqlDbType.Int).Value = Int.Parse(TextBox1.Text)
        cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Parse(TextBox31.Text)
#3

يحتاج الاجراء الى قوسين

dr = cmd.ExecuteReader

اي

dr = cmd.ExecuteReader()

In bad state

#4

السلام عليكم

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

WHERE dbo.salary.id=@id AND 
 and DATEADD(dd,DATEDIFF(dd,0, dbo.salary.date),0) = @date

اقتباس
يحتاج الاجراء الى قوسين

مما قيل عن مدح الفيجوال بيسك في قصيدة شعرية (لا سيمي كولون ولا اقواس ...) يعني لا تحتاج الى فاصلة منقوطة في النهاية ولا تحتاج ايضا الى الاقواس

مواضيع مشابهة