منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : يوجد خطاء فى كود البحث بواستطة الكمبوبوكس واجراء مخزن
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لسلام عليكم 

لدى مشروع بسيط عبارة عن جلب اسم الوحدة من الكمبوكس  مع جلب الكود فى تكست بوكس

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

ارجو لو يوجد طريقة اخري اجلب اسم الوحدات مع عرض كود الوحدة 



[attachment=29645]

[attachment=29646]
الداتا ريدر mySerch بيكون مفتوح او مستخدم اقفله قبل اعادة الاستخدام
جرب يكون كود البحث بواسطة كود الصنف بإستخدام كائن إتصال آخر : يعني (Conn2)  وهذا الكائن لا يستخدم إلا داخل هذا الاجراء فقط
وخارجه تستخدم كائن الاتصال الاساسي (Conn)

- يعني عندما لا تضمن تشابك الأوامر : أفصل الكائنات والعمليات ..
Myserch مقفول وكائن الاتصال مقفول

لكن مش عارف اوصل لسبب المشكلة

طيب ممكن كود تحميل بيانات الوحدات
وعرض. كود كل وحدة.

يكون كود فى sub واحد. بدل من استخدام 2. كود
الجداول فاضيه وضعت بيانات سطر واحد من عندي وجربته لم تظهر الرساله يمكن هذا التعديل يحل المشكله في مشروعك
كود :
   Private Sub GetSearchItem(ByVal SearchItem As Integer)

       'Try
       '  اجراء مخزن لجلب بيانات الصنف
       Dim da As New SqlDataAdapter("Get_itemCode", conn)
       da.SelectCommand.Parameters.AddWithValue("@itemCode", SearchItem)
       da.SelectCommand.CommandType = CommandType.StoredProcedure
       Dim dt As New DataTable
       da.Fill(dt)
       If dt.Rows.Count > 0 Then
           txtitmID.Text = dt.Rows(0)("id")
           txtItemCode.Text = dt.Rows(0)("itemCode")
           txtItemName.Text = dt.Rows(0)("itemName")
           txtSection.Text = dt.Rows(0)("itemSection")
           txtGroup.Text = dt.Rows(0)("itemGroup")

           txtUintName.Text = dt.Rows(0)("UintName")
           txtUnitCode.Text = dt.Rows(0)("unitCode")

        Else
           txtItemCode.SelectAll()
           txtItemCode.Focus()
           MsgBox("لا يوجد صنف مطابق  ", MsgBoxStyle.Exclamation, "خطاء فى ادخال البيانات")
       End If
       'Catch ex As Exception
       '    MsgBox(ex.Message)
       'End Try

   End Sub