لسلام عليكم
لدى مشروع بسيط عبارة عن جلب اسم الوحدة من الكمبوكس مع جلب الكود فى تكست بوكس
عند البحث بكود الصنف بواستطة اجراء مخزن يظهر رسالة ان الداتا ريدر مفتوحة كما بالصورة التالية
ارجو لو يوجد طريقة اخري اجلب اسم الوحدات مع عرض كود الوحدة
[
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