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

مساعدة Command text was not set for the command object.

بدأه MR.SP!DeR في 18 سبتمبر 2013 · 7 رد · 606 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله ..
اخواني عملت فورم خاص بالبحث .. والتعديل والحذف ..
عند تنفيذ البرنامج يظهر لي هذ الخطأ
صورة :
unrui.png

وهذه صورة من الفورم :

myrdD.png

وهذذا هو الكود الخاص :
 

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Dim ConStr As String = _
                "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
                Application.StartupPath & "\prise.mdb"
        Dim Conn As New OleDbConnection(ConStr)
        Dim DataSet1 As New DataSet
        Dim SQLstr As String
        If TextBox7.Text = Trim("") Then Exit Sub
        If RadioButton3.Checked = True Then
            ExactSearch()
        ElseIf RadioButton4.Checked = True Then
            GeneralSearch()
        End If
        Conn.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
        DataAdapter1.Fill(DataSet1, "sales")
        Conn.Close()
        TextBox8.DataBindings.Add("Text", DataSet1, "sales.name")
        TextBox9.DataBindings.Add("Text", DataSet1, "sales.item_type")
        TextBox10.DataBindings.Add("Text", DataSet1, "sales.num")
        TextBox11.DataBindings.Add("text", DataSet1, "sales.pru_price")
        TextBox12.DataBindings.Add("text", DataSet1, "sales.pru_date")
        DataGridView2.DataSource = DataSet1
        DataGridView2.DataMember = "sales"
        Button7.Enabled = False
        If Me.BindingContext(DataSet1, "sales").Count = 0 Then
            MsgBox("No Result, Please Try Again ")
            Exit Sub
        End If
        Button8.Enabled = True
        Button9.Enabled = True

    End Sub
    Public Sub ExactSearch()
        Dim SQLstr As String
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM slaes WHERE name = '" & TextBox7.Text & "'"
        ElseIf RadioButton2.Checked = True Then
            SQLstr = "SELECT * FROM sales WHERE pru_date = '" & TextBox7.Text & "'"
        End If
    End Sub
    Public Sub GeneralSearch()
        Dim SQLstr As String
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM sales WHERE name LIKE '%" & TextBox7.Text & "%'"
        ElseIf RadioButton2.Checked = True Then
            SQLstr = "SELECT * FROM sales WHERE pru_date LIKE '%" & TextBox7.Text & "%'"
        End If
    End Sub

في انتظار ردودكم ..

#2

The reason is because you used the variable SQLstr  as Local inside the two sub()

 

عليك ان تعرفه مرة واحدة ك public وثم تغير قيمته داخل ExactSearch و GeneralSearch بدون استعمال DIm

تم تعديل هذه المشاركة بواسطة samir ibrahim في 18 سبتمبر 2013 في 19:10

Samir Ibrahim

VFP Blog

VB.NET Blog

#3
samir ibrahim كتب:

The reason is because you used the variable SQLstr  as Local inside the two sub()

 

عليك ان تعرفه مرة واحدة ك public وثم تغير قيمته داخل ExactSearch و GeneralSearch بدون استعمال DIm

شكري اخي علي الرد ...

ارجو التووضيح اكثر اخوك مبتدي

#4

مش لح اعرف فسرلك بالعربي. لح اعطيك الحل اسرع

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Dim ConStr As String = _
                "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
                Application.StartupPath & "\prise.mdb"
        Dim Conn As New OleDbConnection(ConStr)
        Dim DataSet1 As New DataSet
        Dim SQLstr As String
        If TextBox7.Text = Trim("") Then Exit Sub
        If RadioButton3.Checked = True Then
            SQLstr = ExactSearch()
        ElseIf RadioButton4.Checked = True Then
            SQLstr = GeneralSearch()
        End If
        Conn.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
        DataAdapter1.Fill(DataSet1, "sales")
        Conn.Close()
        TextBox8.DataBindings.Add("Text", DataSet1, "sales.name")
        TextBox9.DataBindings.Add("Text", DataSet1, "sales.item_type")
        TextBox10.DataBindings.Add("Text", DataSet1, "sales.num")
        TextBox11.DataBindings.Add("text", DataSet1, "sales.pru_price")
        TextBox12.DataBindings.Add("text", DataSet1, "sales.pru_date")
        DataGridView2.DataSource = DataSet1
        DataGridView2.DataMember = "sales"
        Button7.Enabled = False
        If Me.BindingContext(DataSet1, "sales").Count = 0 Then
            MsgBox("No Result, Please Try Again ")
            Exit Sub
        End If
        Button8.Enabled = True
        Button9.Enabled = True

    End Sub
    Public Function ExactSearch()
        Dim SQLstr As String
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM slaes WHERE name = '" & TextBox7.Text & "'"
        ElseIf RadioButton2.Checked = True Then
            SQLstr = "SELECT * FROM sales WHERE pru_date = '" & TextBox7.Text & "'"
        End If
        Return SQLstr
    End Function
    Public Function GeneralSearch()
        Dim SQLstr As String
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM sales WHERE name LIKE '%" & TextBox7.Text & "%'"
        ElseIf RadioButton2.Checked = True Then
            SQLstr = "SELECT * FROM sales WHERE pru_date LIKE '%" & TextBox7.Text & "%'"
        End If
        Return SQLstr
    End Function

Samir Ibrahim

VFP Blog

VB.NET Blog

#5

الحل البسيط هو ان تصرح عن المتحول SQLstr في قسم التصريحات العامة تحت كلمة Class Form1 :

Class Form1

Dim SQLstr As String

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
..................
.............

End Class
#6
Abdulla0991 كتب:

 

الحل البسيط هو ان تصرح عن المتحول SQLstr في قسم التصريحات العامة تحت كلمة Class Form1 :

Class Form1

Dim SQLstr As String

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
..................
.............

End Class

هذا صحيح شرط ان لا يعيد تعريف المتغير في Sub

تم تعديل هذه المشاركة بواسطة samir ibrahim في 19 سبتمبر 2013 في 17:19

Samir Ibrahim

VFP Blog

VB.NET Blog

#8

مشكورين تم حل المشكلة ... :) :D

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