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

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

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

احتاج كرما مساعدتكم في ذلك 
وهذا الكود

كود :
Try
           Dim xy As String
           If RadioButton2.Checked = True Then
               xy = 1
           ElseIf RadioButton1.Checked = True Then
               xy = 0
           Else
               Exit Sub
           End If

           Dim str As String = String.Format("update tb_info set [info_name]='{0}', [info_phon]='{1}', [info_email]='{2}', [info_city]='{3}', [info_job]='{4}', [info_tr]='{5}', [info_tr_sys]='{6}', [info_tr_bank]='{7}', [info_tr_bname]='{8}', [info_tr_prog]='{9}', [info_date]='{10}' WHERE [info_id]='{11}'", TextBox1.Text, TextBox2.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, xy, ComboBox1.Text, ComboBox2.Text, TextBox13.Text, ComboBox3.Text, DateTimePicker1.Value.Date, Label7.Text)
           Dim erw As New OleDbCommand(str, con)
           con.Open()
           erw.ExecuteNonQuery()
           MsgBox("تم التحديث")
       Catch ex As Exception
           MsgBox(ex.Message)
       Finally
           con.Close()
       End Try
وعليكم السلام
اخي الفاضل هذه اسهل طريقة لتحديث سجل
قم باكمال بقية الحقول بنفس هذه الطريقة

PHP كود :
       Dim erw As New OleDbCommand(strcon)
 
       Dim str As String "update tb_info set [info_name]=@info_name, WHERE [info_id]=@info_id"
 
       erw.Parameters.AddWithValue("@info_id"Label7.Text)
 
       erw.Parameters.AddWithValue("@info_name"TextBox1.Text)
 
       con.Open()
 
       erw.ExecuteNonQuery()
 
       MsgBox("تم التحديث"
جربت هذه الطريقة
ويطلع لي خطأ في بناء جملة UPDATE

PHP كود :
       Dim xy As String
            If RadioButton2
.Checked True Then
                xy 
1
            ElseIf RadioButton1
.Checked True Then
                xy 
0
            Else
                Exit Sub
            End 
If

 
           Dim str As String "update tb_info set [info_name]=@info_name, [info_phon]=@info_phon,[info_email]=@info_email,[info_city]=@info_city,[info_job]=@info_job,[info_tr]=@info_tr,[info_tr_sys]=@info_tr_sys,[info_tr_bank]=@info_tr_bank,[info_tr_bname]=@info_tr_bname,[info_tr_prog]=@info_tr_prog,[info_date]=@info_date,  WHERE [info_id]=@info_id"
 
           Dim erw As New OleDbCommand(strcon)

 
           erw.Parameters.AddWithValue("@info_id"Label7.Text)
 
           erw.Parameters.AddWithValue("@info_name"TextBox1.Text)
 
           erw.Parameters.AddWithValue("@info_phon"TextBox2.Text)
 
           erw.Parameters.AddWithValue("@info_email"TextBox4.Text)
 
           erw.Parameters.AddWithValue("@info_city"TextBox5.Text)
 
           erw.Parameters.AddWithValue("@info_job"TextBox6.Text)
 
           erw.Parameters.AddWithValue("@info_tr"xy)
 
           erw.Parameters.AddWithValue("@info_tr_sys"ComboBox1.Text)
 
           erw.Parameters.AddWithValue("@info_tr_bank"ComboBox2.Text)
 
           erw.Parameters.AddWithValue("@info_tr_bname"TextBox13.Text)
 
           erw.Parameters.AddWithValue("@info_tr_prog"ComboBox3.Text)
 
           erw.Parameters.AddWithValue("@info_date"DateTimePicker1.Value.Date)

 
           con.Open()
 
           erw.ExecuteNonQuery()
 
           MsgBox("تم التحديث"
ضع تفاصيل حول الجدول وحقوله وانواعها
المتوقع ان سبب  الخطأ هو عدم تطابق نوع المدخلات مع نوع الحقول (نصي او رقمي او بولياني)
توجد لديك فاصلة زائدة، تجدها قبل كلمة WHERE