تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار حول استعلام تحديث
#1
السلام عليكم
احتاج مساعدة لبرنامج اقوم بتطويره عبر لغة 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
الرد
تم الشكر بواسطة:
#2
وعليكم السلام
اخي الفاضل هذه اسهل طريقة لتحديث سجل
قم باكمال بقية الحقول بنفس هذه الطريقة

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("تم التحديث"
الرد
تم الشكر بواسطة:
#3
جربت هذه الطريقة
ويطلع لي خطأ في بناء جملة 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("تم التحديث"
الرد
تم الشكر بواسطة:
#4
ضع تفاصيل حول الجدول وحقوله وانواعها
المتوقع ان سبب  الخطأ هو عدم تطابق نوع المدخلات مع نوع الحقول (نصي او رقمي او بولياني)

الرد
تم الشكر بواسطة:
#5
توجد لديك فاصلة زائدة، تجدها قبل كلمة WHERE
الرد



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


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