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

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

انا عندي كود اضافة اريده ان يتكرر امر الاضافة بحسب الرقم الموجود في اداة Textbox1.Text

الكود كنت اعرفه ولكن للاسف ضاع مني ونسيت الامر حاولت اكتبه واسترجعه لم استطع تظهر لي اخطاء ،، اتمنى الحل منكم جزاك الله خير

وهذا الكود الذي اريد تكراره على حسب الرقم الموجود في Textbox1.Text

كود :
Conn.Open()
        Dim Cmd2 As New SqlCommand("insert into Table2 (NameCloth,TypeCloth,ColorCloth,LengthM,LengthY,Quantity) values ( '" & Trim(TextBox64.Text) & "' , '" & Trim(TextBox63.Text) & "' , '" & Trim(TextBox60.Text) & "' , " & Val(TextBox72.Text) & " , " & Val(TextBox85.Text) & " , '" & Trim(TextBox83.Text) & "' )", Conn)
        Cmd2.ExecuteNonQuery()
        TextBox64.Text = "" : TextBox63.Text = "" : TextBox60.Text = "" : TextBox72.Text = "" : TextBox85.Text = "" : TextBox83.Text = ""
        RefreshListView2()

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

انا شايف ان مربعات النص الموجوده عندك عددها كثير ولهذا انصحك أستخدام الاختصارات على قدر الامكان ,, يعني أجراءات فرعية ,, وحاول تستخدم For Each
Abu Ehab كتب :مش عارف أذا انا فهمت المطلوب أم لا
لكن أقول لك :
اعمل حلقة تكرار بالعدد الموجود في مربع النص اللى انت عايزه
تانيا عايز اقول لك شغلة مهمه :
أستخدم البارامتيترز بيكون افضل لك حتى تتحكم في المدخلات وتتجنب حقن الكود

انا شايف ان مربعات النص الموجوده عندك عددها كثير ولهذا انصحك أستخدام الاختصارات على قدر الامكان ,, يعني أجراءات فرعية ,, وحاول تستخدم For Each

لو تتدري ،،،
برنامجي اصلا نصفه بهذا الكود والنص الاخر بالبارو مترات

،،،[b] وايضا لم افهمك هل من كود لفهم طريقة التكرار لو سمحت
[/b]
PHP كود :
For aLoop As Integer 0 To Val(TextBox1.Text.Trim)
            
' Yuor Code is here 
            ' 
And Dont Forget Clear the Parameters at the  end  of statment evry time
        Next
        
' Show your Message Box Here 
        ' 
Okey Guy 
شكرا اخي لكن اكتشفت انه يظيف اكثر من العدد الي اكتبه مثل
انا كتبت 3 كرره 4 ،، كتبت 6 كرره 7 والسبب فهمته وهو انه يقوم بتكرار العملية غير العملية الاصليه ،،
يعني الكود عمليه اصليه ،، فهو يضيف فوقه العدد الذي اكتبه ،، ماهو حل هذه المشكلة ؟

وهذا هو الكود بعد تغييري للبارو مترات

كود :
For aLoop As Integer = 0 To Val(TextBox92.Text.Trim)
            Dim cm2 As New SqlCommand("insert into Table2 (NameCloth,TypeCloth,ColorCloth,LengthM,LengthY,Quantity) values (@NameCloth,@TypeCloth,@ColorCloth,@LengthM,@LengthY,@Quantity)", Conn)

            cm2.Parameters.AddWithValue("@NameCloth", SqlDbType.VarChar).Value = (TextBox64.Text).ToString
            cm2.Parameters.AddWithValue("@TypeCloth", SqlDbType.VarChar).Value = (TextBox63.Text).ToString
            cm2.Parameters.AddWithValue("@ColorCloth", SqlDbType.VarChar).Value = (TextBox60.Text).ToString
            cm2.Parameters.AddWithValue("@LengthM", SqlDbType.Decimal).Value = (TextBox72.Text).ToString
            cm2.Parameters.AddWithValue("@LengthY", SqlDbType.Decimal).Value = (TextBox85.Text).ToString
            cm2.Parameters.AddWithValue("@Quantity", SqlDbType.VarChar).Value = (TextBox83.Text).ToString


            If Conn.State = ConnectionState.Closed Then
                Conn.Open()
            End If
            cm2.ExecuteNonQuery()
            cm2.Parameters.Clear()
            Me.RefreshListView2()
        Next


خلاص شكرا اخي حليتها،،، هذا هو الكود ،،، التعديل ما هو بالاحمر

كود :
For aLoop As Integer = [color=#FF0000]1[/color] To Val(TextBox92.Text.Trim)
            Dim cm2 As New SqlCommand("insert into Table2 (NameCloth,TypeCloth,ColorCloth,LengthM,LengthY,Quantity) values (@NameCloth,@TypeCloth,@ColorCloth,@LengthM,@LengthY,@Quantity)", Conn)

            cm2.Parameters.AddWithValue("@NameCloth", SqlDbType.VarChar).Value = (TextBox64.Text).ToString
            cm2.Parameters.AddWithValue("@TypeCloth", SqlDbType.VarChar).Value = (TextBox63.Text).ToString
            cm2.Parameters.AddWithValue("@ColorCloth", SqlDbType.VarChar).Value = (TextBox60.Text).ToString
            cm2.Parameters.AddWithValue("@LengthM", SqlDbType.Decimal).Value = (TextBox72.Text).ToString
            cm2.Parameters.AddWithValue("@LengthY", SqlDbType.Decimal).Value = (TextBox85.Text).ToString
            cm2.Parameters.AddWithValue("@Quantity", SqlDbType.VarChar).Value = (TextBox83.Text).ToString


            If Conn.State = ConnectionState.Closed Then
                Conn.Open()
            End If
            cm2.ExecuteNonQuery()
            cm2.Parameters.Clear()
            Me.RefreshListView2()
        Next
الافضل اخى الكريم ان يكون بهذا الشكل
[HTML]For aLoop As Integer = 0 To Val(TextBox92.Text.Trim) -1[/HTML]
لانه يبدا العد من 0
learning.net كتب :الافضل اخى الكريم ان يكون بهذا الشكل
[HTML]For aLoop As Integer = 0 To Val(TextBox92.Text.Trim) -1[/HTML]
لانه يبدا العد من 0

شكرا اخي ،، راح استعيني بنصيحتك ،، لكن ممكن تقولي ليه افضل ،، لاجل اخذ الخبره ؟
خذ هالمعلومة على السريع :
أذا أنشأت أي كائن وأستخدمته ,,,, بعد ما تنتهي من أستخدامه ,, قم بتــــــدميره حتى لا يبقى في الذاكرة
Cm2.Dispose
Abu Ehab كتب :خذ هالمعلومة على السريع :
أذا أنشأت أي كائن وأستخدمته ,,,, بعد ما تنتهي من أستخدامه ,, قم بتــــــدميره حتى لا يبقى في الذاكرة
Cm2.Dispose

شكرا لك ،، انا استفيد منك خبره الله يجزاك خير ،،
بس بغيت اسأل هل تقصد بتدميره فقط في اوامر اضافة البيانات ؟
الصفحات : 1 2