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

انا عندي كود اضافة اريده ان يتكرر امر الاضافة بحسب الرقم الموجود في اداة 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()

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

انا شايف ان مربعات النص الموجوده عندك عددها كثير ولهذا انصحك أستخدام الاختصارات على قدر الامكان ,, يعني أجراءات فرعية ,, وحاول تستخدم For Each
Abu Ehab : Microsoft Partner  & Systems Developer
 Youtube   Facebook    Twitter   
الرد }}}
تم الشكر بواسطة:
#3
Abu Ehab كتب :مش عارف أذا انا فهمت المطلوب أم لا
لكن أقول لك :
اعمل حلقة تكرار بالعدد الموجود في مربع النص اللى انت عايزه
تانيا عايز اقول لك شغلة مهمه :
أستخدم البارامتيترز بيكون افضل لك حتى تتحكم في المدخلات وتتجنب حقن الكود

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

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

،،،[b] وايضا لم افهمك هل من كود لفهم طريقة التكرار لو سمحت
[/b]
الرد }}}
تم الشكر بواسطة:
#4
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 
Abu Ehab : Microsoft Partner  & Systems Developer
 Youtube   Facebook    Twitter   
الرد }}}
تم الشكر بواسطة:
#5
شكرا اخي لكن اكتشفت انه يظيف اكثر من العدد الي اكتبه مثل
انا كتبت 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


الرد }}}
تم الشكر بواسطة:
#6
خلاص شكرا اخي حليتها،،، هذا هو الكود ،،، التعديل ما هو بالاحمر

كود :
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
الرد }}}
تم الشكر بواسطة:
#7
الافضل اخى الكريم ان يكون بهذا الشكل
[HTML]For aLoop As Integer = 0 To Val(TextBox92.Text.Trim) -1[/HTML]
لانه يبدا العد من 0
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}
تم الشكر بواسطة:
#8
learning.net كتب :الافضل اخى الكريم ان يكون بهذا الشكل
[HTML]For aLoop As Integer = 0 To Val(TextBox92.Text.Trim) -1[/HTML]
لانه يبدا العد من 0

شكرا اخي ،، راح استعيني بنصيحتك ،، لكن ممكن تقولي ليه افضل ،، لاجل اخذ الخبره ؟
الرد }}}
تم الشكر بواسطة:
#9
خذ هالمعلومة على السريع :
أذا أنشأت أي كائن وأستخدمته ,,,, بعد ما تنتهي من أستخدامه ,, قم بتــــــدميره حتى لا يبقى في الذاكرة
Cm2.Dispose
Abu Ehab : Microsoft Partner  & Systems Developer
 Youtube   Facebook    Twitter   
الرد }}}
تم الشكر بواسطة:
#10
Abu Ehab كتب :خذ هالمعلومة على السريع :
أذا أنشأت أي كائن وأستخدمته ,,,, بعد ما تنتهي من أستخدامه ,, قم بتــــــدميره حتى لا يبقى في الذاكرة
Cm2.Dispose

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



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


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