تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة في عملية البحث في قواعد البيانات
#1
ألسلام عليكم ورحمه الله وبركاته

عندي مشكلة في عملية البحث في قواعد البيانات فدائما يعطيني خطا في ان قواعد البيانات مغلقة في هذا الكود


Dim dr As SqlDataReader = cmd.ExecuteReader


وهذا الكود كامل ولاادري اين الخطا اتمنى مساعدتي



كود :
Private Sub btnQueri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQueri.Click

 
       ' فتح واغلاق الاتصال بقاعدة البيانات
       If sqlcon.State = ConnectionState.Open Then
           sqlcon.Close()

       End If
       sqlStatment = ""
       SQL1 = ""
       Dim firtCont As Boolean = True
       If txtQuery.Text <> "" Then
           If firtCont = False Then
               sqlStatment = sqlStatment & "Emp.IDNumEmp like '%" & txtQuery.Text & "'%"
           Else
               firtCont = False

               sqlStatment = sqlStatment & "Emp.IDNumEmp like '%" & txtQuery.Text & "'%"

           End If
       End If

       Class1.sqlcon.Open()

       SQL1 = "Select * From Emp Where " & sqlStatment
       Dim cmd As New SqlCommand(SQL1)
       cmd.Connection = sqlcon

       Dim dr As SqlDataReader = cmd.ExecuteReader

       If dr.HasRows Then
           dr.Read()

           txtid.Text = dr.Item("IDNumEmp")
           txtname.Text = dr.Item("name")
       

           Class1.sqlcon.Close()



       Else
           labelerror.BackColor = Color.Red
           labelerror.ForeColor = Color.White
           labelerror.Text = "الجسل غير موجود "

       End If


   End Sub
الرد }}}
تم الشكر بواسطة:
#2
class 1
هو كلاس فيه الاتصال بقواعد البيانات وداخله تعريف sqlcon

في حالة حدف class1
لايتم التعرف على sqlcon
فلا ادري اي المشكلة هل بالاتصال بالكلاس ام في sqlcon
كود :
Imports System.Data.SqlClient
Imports System.Globalization
Public Class Class1
   Public Shared sqlcon As New SqlConnection

'دالة جلب البيانات من قاعدة البيانات
   Public Function SQLReturn(ByVal SQLStatment As String) As DataSet
       Dim ds As New DataSet
       Try
           If sqlcon.State = ConnectionState.Open Then
               sqlcon.Close()

           End If
           Dim sda As New SqlDataAdapter(SQLStatment, sqlcon)
           sda.Fill(ds)

       Catch ex As Exception
           MsgBox(ex.Message)
       Finally
           sqlcon.Close()

       End Try
       Return ds
   End Function
الرد }}}
تم الشكر بواسطة:
#3
أنصحك طالما لا تعرف كيف تستفيد من Class1 أن تستغني عنه وعرف بنفسك نص الاتصال في Module وليكن فقط هذا السطر
كود :
Public sqlcon As New SqlConnection("هنا يتم وضع نص الاتصال بقاعدة البيانات")
الرد }}}
تم الشكر بواسطة: رحوووم , سعود
#4
اشكرك جدا تم حل المشكلة باستخدام الموديل
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم