منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] عندى مشكله بكود التعديل فى قاعده البيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] عندى مشكله بكود التعديل فى قاعده البيانات (/showthread.php?tid=24325)



عندى مشكله بكود التعديل فى قاعده البيانات - waleedsss - 27-03-18

السلام عليكم 

عندى مشكله بكود التعديل على البيانات 

مرفق لكم البرنامج بلغه فيجوال 2005 وقاعده البيانات

كود :
Public Sub ok()
       Dim sql As String = "select * from mas where ID=" & Val(idtxt.Text) & ""
       If Conn.State() Then Conn.Close()
       Conn.Open()
       Dim cmd As New OleDbCommand(sql, Conn)
       Dim dr As OleDbDataReader
       dr = cmd.ExecuteReader()

       If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Then
           MsgBox("إدخل الحقول - احد الحقول فارغ")
           Exit Sub
       Else
           Try
               sql = "update mas set hom='" & TextBox4.Text & "', user='" & TextBox1.Text & "', pass='" & TextBox2.Text & "', cat='" & CheckBox3.CheckState & "', payy='" & CheckBox4.CheckState & "', add='" & CheckBox1.CheckState & "', cas=" & CheckBox5.CheckState & " where ID=" & Val(idtxt.Text) & ""
               Dim cmd2 As New OleDbCommand(sql, Conn)
               cmd2.ExecuteNonQuery()
               Conn.Close()
               MessageBox.Show("         تمت عملية التعديل بنجاح         ")

           Catch ex As Exception
               Conn.Close()
               MessageBox.Show(ex.Message)
           End Try
       End If

   End Sub



RE: عندى مشكله بكود التعديل فى قاعده البيانات - عبدالله الدوسري - 27-03-18

وعليكم السلام ورحمة الله وبركاتة


[attachment=17522]


هكذا :

كود :
               sql = "update [mas] set [hom] = '" & TextBox4.Text & "', [user]= '" & TextBox1.Text & "', [pass]= '" & TextBox2.Text & "', [cat] = " & CheckBox3.Checked & ", [payy]= " & CheckBox4.Checked & ", [add] = " & CheckBox1.Checked & ", [cas] = " & CheckBox5.Checked & " where ID = " & Val(idtxt.Text)
[attachment=17523]


RE: عندى مشكله بكود التعديل فى قاعده البيانات - بيسك لكل العرب - 27-03-18

أخي عبد الله ما فرق بين الكود الموجود وهذا الكود 
وأيهما أفضل


PHP كود :
       Using CNN As OleDbConnection Conn()
 
           CNN.Open()
 
           Dim str As String = ("Update [Anz1] set 
                [MA1]=@MA1,[MA2]=@MA2,[MA3]=@MA3,[MA4]=@MA4,[MA5]=@MA5,[MA6]=@MA6,[MA7]=@MA7,[MA8]=@MA8,[MA9]=@MA9,[MA10]=@MA10,[MA11]=@MA11 WHERE Date = #" 
DateTimePicker1.Value.ToString("MM/dd/yyyy") & "#")
 
           Dim cmd As New OleDbCommand(strCNN)
 
           cmd.Parameters.AddWithValue("@MA1"Val(TextBox1.Text))
 
           cmd.Parameters.AddWithValue("@MA2"Val(TextBox2.Text))
 
           cmd.Parameters.AddWithValue("@MA3"Val(TextBox3.Text))
 
           cmd.Parameters.AddWithValue("@MA4"Val(TextBox4.Text))
 
           cmd.Parameters.AddWithValue("@MA5"Val(TextBox5.Text))
 
           cmd.Parameters.AddWithValue("@MA6"Val(TextBox6.Text))
 
           cmd.Parameters.AddWithValue("@MA7"Val(TextBox7.Text))
 
           cmd.Parameters.AddWithValue("@MA8"Val(TextBox8.Text))
 
           cmd.Parameters.AddWithValue("@MA9"Val(TextBox9.Text))
 
           cmd.Parameters.AddWithValue("@MA10"Val(TextBox10.Text))
 
           cmd.Parameters.AddWithValue("@MA11"Val(TextBox11.Text))
 
           cmd.ExecuteNonQuery()
 
           CNN.Close()
 
       End Using 

(27-03-18, 05:35 PM)عبدالله الدوسري كتب : وعليكم السلام ورحمة الله وبركاتة





هكذا :

كود :
               sql = "update [mas] set [hom] = '" & TextBox4.Text & "', [user]= '" & TextBox1.Text & "', [pass]= '" & TextBox2.Text & "', [cat] = " & CheckBox3.Checked & ", [payy]= " & CheckBox4.Checked & ", [add] = " & CheckBox1.Checked & ", [cas] = " & CheckBox5.Checked & " where ID = " & Val(idtxt.Text)

أخي عبد الله ما فرق بين الكود الموجود وهذا الكود 

وأيهما أفضل


RE: عندى مشكله بكود التعديل فى قاعده البيانات - عبدالله الدوسري - 28-03-18

الفرق :


الطريقة الأولى : تستطيع أن ترسل نصوص فقط مثل الحروف والأرقام والرموز وصح أو خطأ
كود :
sql = "update [mas] set [hom] = '" & TextBox4.Text & "', [user]= '" & TextBox1.Text & "', [pass]= '" & TextBox2.Text & "', [cat] = " & CheckBox3.Checked & ", [payy]= " & CheckBox4.Checked & ", [add] = " & CheckBox1.Checked & ", [cas] = " & CheckBox5.Checked & " where ID = " & Val(idtxt.Text)








الطريقة الثانية : تستطيع من خلالها إرسال أي نوع من أنواع البيانات , مثلاً  صور , ملفات , memory stream , bytes array ( لا يمكن للطريقة الأولى إرسال مثل هذة الأنواع من البيانات )
كود :
   Using CNN As OleDbConnection = Conn()
           CNN.Open()
           Dim str As String = ("Update [Anz1] set
               [MA1]=@MA1,[MA2]=@MA2,[MA3]=@MA3,[MA4]=@MA4,[MA5]=@MA5,[MA6]=@MA6,[MA7]=@MA7,[MA8]=@MA8,[MA9]=@MA9,[MA10]=@MA10,[MA11]=@MA11 WHERE Date = #" & DateTimePicker1.Value.ToString("MM/dd/yyyy") & "#")
           Dim cmd As New OleDbCommand(str, CNN)
           cmd.Parameters.AddWithValue("@MA1", Val(TextBox1.Text))
           cmd.Parameters.AddWithValue("@MA2", Val(TextBox2.Text))
           cmd.Parameters.AddWithValue("@MA3", Val(TextBox3.Text))
           cmd.Parameters.AddWithValue("@MA4", Val(TextBox4.Text))
           cmd.Parameters.AddWithValue("@MA5", Val(TextBox5.Text))
           cmd.Parameters.AddWithValue("@MA6", Val(TextBox6.Text))
           cmd.Parameters.AddWithValue("@MA7", Val(TextBox7.Text))
           cmd.Parameters.AddWithValue("@MA8", Val(TextBox8.Text))
           cmd.Parameters.AddWithValue("@MA9", Val(TextBox9.Text))
           cmd.Parameters.AddWithValue("@MA10", Val(TextBox10.Text))
           cmd.Parameters.AddWithValue("@MA11", Val(TextBox11.Text))
           cmd.ExecuteNonQuery()
           CNN.Close()
       End Using




الأفضل : الطريقة الثانية , مميزات أكثر, 

ولكن ممكن في بعض الأحوال تكفيني الطريقة الأولى