[VB.NET] استفسار عن خطأ في كود الحفظ - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] استفسار عن خطأ في كود الحفظ (/showthread.php?tid=32877) |
استفسار عن خطأ في كود الحفظ - Hassan.syria - 09-01-20 اساتذتي سؤال يوجد لدي زر وهو خاص بالحفظ وضمن كود الحفظ هنالك عدة شروط ولكن عند الضغط على الزر يقوم بتنفيذ احد الشروط ، ويبقى البرنامج ينفذ هذا الشرط إلى ان اقوم باغلاق البرنامج وإعادة تشغيله يقوم بتنفيذ شرط آخر . علما انني استسخدم If واقوم باغلاق الاتصال con.close و form.fill RE: استفسار - علي بنيان - 09-01-20 السلام عليكم لو تخلينا الكود حتى نشوف الخطأ وين RE: استفسار - Hassan.syria - 09-01-20 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try If ComboBox1.Text = "" Then MsgBox(" الرجاء إدخال اسم المعمل / المستودع") ElseIf TextBox1.ReadOnly = False And TextBox1.Text = "" Then MsgBox(" الرجاء إدخال رقم الكتاب") ElseIf TextBox2.ReadOnly = False And TextBox2.Text = "" Then MsgBox(" الرجاء إدخال اتاريخ الكتاب") ElseIf TextBox3.ReadOnly = False And TextBox3.Text = "" Then MsgBox(" الرجاء إدخال عدد اللصاقات") ElseIf TextBox4.ReadOnly = False And TextBox4.Text = "" Then MsgBox(" الرجاء إدخال تاريخ التسليم") ElseIf CDate(TextBox2.Text.Trim) > CDate(TextBox4.Text.Trim) Then MsgBox(" خطأ : تاريخ التسليم أقدم من تاريخ الكتاب") Else Con.Open() Dim CM As New SqlCommand("select * from Table_3 where NAMEWAREHOUSE like '%" & ComboBox1.Text.Trim & "%' AND NAMEBOX = '" & Format(TextBox1.Text.Trim) & "' AND DATABOX = '" & Format(TextBox2.Text.Trim) & "' AND NUMDrug = " & Val(Trim(TextBox3.Text)), Con Dim Ca As New SqlCommand("select * from Table_3 where NAMEWAREHOUSE like '%" & ComboBox1.Text.Trim & "%' AND NAMEBOX = '" & Format(TextBox1.Text.Trim) & "' AND DATABOX = '" & Format(TextBox2.Text.Trim) & "' AND NUMDrug < " & Val(Trim(TextBox3.Text)), Con) Dim Cs As New SqlCommand("select * from Table_3 where NAMEWAREHOUSE like '%" & ComboBox1.Text.Trim & "%' AND NAMEBOX = '" & Format(TextBox1.Text.Trim) & "' AND DATABOX = '" & Format(TextBox2.Text.Trim) & "' AND NUMDrug > " & Val(Trim(TextBox3.Text)), Con) Dim CO As New SqlCommand("select * from Table_3 where NAMEWAREHOUSE like '%" & ComboBox1.Text.Trim & "%' AND NAMEBOX = '" & Format(TextBox1.Text.Trim) & "' AND DATABOX = '" & Format(TextBox2.Text.Trim) & "' AND NUMDrug = " & Val(Trim(TextBox3.Text)), Con) If CM.ExecuteScalar > 0 Then Dim op As SqlDataReader op = CM.ExecuteReader() While op.Read Me.TextBox8.Text = op(0) End While Con.Close() cmd = New SqlCommand("DELETE Table_3 Where ID ='" & TextBox8.Text & "'", Con) Con.Open() cmd.ExecuteNonQuery() Dim SQL As String = "Insert Into Table_1 Values('" & Me.ComboBox1.Text & "', '" & Me.TextBox1.Text & "','" & Me.TextBox2.Text & "','" & Me.TextBox3.Text & "','" & Me.TextBox4.Text & "','" & Me.TextBox5.Text & "')" cmd = New SqlCommand(SQL, Con) cmd.ExecuteNonQuery() MsgBox("تم الاضافة بنجاح", MsgBoxStyle.Information) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" ComboBox1.Focus() Con.Close() ElseIf Ca.ExecuteScalar > 0 Then MsgBox("عدد اللصاقات المسلمة أكبر من العدد المطلوب يرجى التعديل ") TextBox3.Text = "" Con.Close() ElseIf Cs.ExecuteScalar > 0 Then Dim op As SqlDataReader op = Cs.ExecuteReader() While op.Read Me.TextBox8.Text = op(0) Me.TextBox6.Text = op(5) End While TextBox7.Text = TextBox6.Text - TextBox3.Text Con.Close() cmd = New SqlCommand("Update Table_3 set NUMDRUGTO = '" & Val(Trim(TextBox7.Text)) & "' Where ID ='" & TextBox8.Text & "'", Con) Con.Open() cmd.ExecuteNonQuery() Dim SQL As String = "Insert Into Table_1 Values('" & Me.ComboBox1.Text & "', '" & Me.TextBox1.Text & "','" & Me.TextBox2.Text & "','" & Me.TextBox3.Text & "','" & Me.TextBox4.Text & "','" & Me.TextBox5.Text & "')" cmd = New SqlCommand(SQL, Con) cmd.ExecuteNonQuery() MsgBox("تم الاضافة بنجاح", MsgBoxStyle.Information) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" ComboBox1.Focus() Con.Close() ElseIf CO.ExecuteScalar < 0 Then MsgBox("وصل الاستلام غير صحيح , يرجى إضافة البيانات في المستودع قبل التسليم ", vbExclamation, vbOKCancel) TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" Con.Close() End If End If Catch ex As Exception MsgBox("خطىء في كود الحفظ !", MsgBoxStyle.Critical) End Try Form2_Load() End Sub هذا برمجة زر الحفظ وفيه عدة شروط RE: استفسار - علي بنيان - 10-01-20 حسب الي فهمته من الكود انت مستخدم else if واكيد رح ينفذ شرط واحد اذا كان صحيح يطلع من جملة if وما يفحص البقية RE: استفسار - Hassan.syria - 10-01-20 صحيح وانا هذا لبدي ياه اذا تحقق شرط ان ينفذه ويخرج من If بس المشكلة بتفصيل انا لدي textbox ادخل فيه بيانات ويوجد textbox خاص بالكميات اضع فيه رقم ولنفترض ١٠٠٠ فا عند الضغط على زر الحفظ يقوم بالبحث في sql اذا وجد الرقم المدخل يشابه للرقم الموجود في SQL يقوم بحذف السجل واذا وجد الرقم المدخل اصغر من الرقم الموجود في sql يقوم بعملية الطرح وحفظ الناتج الجديد بدل القديم في SQL ولكن المشكلة هي في SQL يوجد رقم ١٠٠٠ وانا قمت بإدخال الرقم ٥٠٠ في textbox فيقوم البرنامج بعملية الطرح فيصبح الرقم الموجود في SQL هو ٥٠٠ بدل ال ١٠٠٠ الى هنا يعمل الكود بشكل صحيح ولكن عند ادخال الرقم ٥٠٠ في textbox يجب ان يقوم البرنامج بحذف السجل لان الرقمان في textbox و ال SQL متشابهان ولكن هو لا يقوم بالحذف إنما بطرح اي انه ثبت على شرط المنفذ اولا ، ولا يعمل بشكل الصحيح الا اذا قمت بإغلاق البرنامج واعادة تشغيله ارجوا ان اكون اوصلت مشكلتي بشكل صحيح RE: استفسار عن خطأ في كود الحفظ - Hassan.syria - 12-01-20 الا يوجد حل لمشكلتي أساتذتي RE: استفسار عن خطأ في كود الحفظ - Hassan.syria - 13-01-20 لقد قمت بإعادة قراءة الكود ، وتبين وجود خطأ في تسمية حقل في sql |