تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة عند تحديث البيانات بالداتا جريد فيو
#1
يتم عمل الاضافة والحفظ بدون مشاكل والحذف ولكن عند التحديث

لايتم التحديث للمعلومات الجديدة   علما باني استدعيت كل خلية بالتيكست المخصص لها ويظهر معلومات الخلايا المحفوظة بالتيكست ولا تقبل التحديث

استخدمت الكود التالي ولكن فشل معي

PHP كود :
Public con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" Application.StartupPath "\web.accdb;Jet OLEDB:Database Password=12345"


كود :
 con.Open()
       Dim cmd As New OleDbCommand("update web_tb set name_web=@name_web where ID_web=@ID_web", con)
       cmd.CommandType = CommandType.Text
       cmd.Parameters.AddWithValue("@name_web", TextBox1.Text)
       con.Open()
       Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
       con.Close()

       DataGridView1.Refresh()
       DataSet1.Tables("web_tb").AcceptChanges()
       DataAdapter1.Update(DataSet1, "web_tb")
     
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       con.Close() : con.Dispose()
       MsgBox("تم الاضافه والحفظ بنجاح")
الرد }}}
تم الشكر بواسطة:
#2
لايتم التحديث للمعلومات الجديدة لأنك لم تضع له باراميتر ID_web@
الرد }}}
تم الشكر بواسطة:
#3
بردك نفس المشكلة

con.Open()
Dim cmd As New OleDbCommand("update web_tb set name_web=@name_web where ID_web=@ID_web", con)
cmd.Parameters.AddWithValue("@ID_web", Label1.Text)
cmd.Parameters.AddWithValue("@name_web", TextBox1.Text)
cmd.ExecuteNonQuery()
DataGridView1.Refresh()
DataSet1.Tables("web_tb").AcceptChanges()
DataAdapter1.Update(DataSet1, "web_tb")
الرد }}}
تم الشكر بواسطة:
#4
ترتيب أسماء الباراميترات داخل الاستعلام هو name_web@  ثم ID_web@
لازم ترتيب Parameters يكون نفس الترتيب
PHP كود :
con.Open()
Dim cmd As New OleDbCommand("update web_tb set name_web=@name_web where ID_web=@ID_web"con)
cmd.Parameters.AddWithValue("@name_web"TextBox1.Text)
cmd.Parameters.AddWithValue("@ID_web"Label1.Text)
cmd.ExecuteNonQuery()
DataSet1.Tables("web_tb").AcceptChanges()
DataAdapter1.Update(DataSet1"web_tb"
لا تحتاج لعمل Refresh للأداة DataGridView1
الرد }}}
تم الشكر بواسطة:
#5
حاولت اعدل النظام كلة واعمل تحديث وظهر بث حدثت مشكلة اخري يكتب الخطا

the connectionstring property has not been intialized

الكود الجديد ويعمل جيدا مع الخطا

con.Open()
Dim Sav As New OleDb.OleDbCommand
Sav.Connection = con
Sav.CommandType = CommandType.Text

Sav.CommandText = "UPDATE web_tb SET name_web = '" & addsave_form.XylosTextBox1.Text & "' where ID_web LIKE '" & addsave_form.Label1.Text & "'"
con.Open()
Sav.ExecuteNonQuery()

Dim DataAdapter As New OleDbDataAdapter("SELECT * FROM web_tb Order By ID_web", con)
DataSet1.Clear()
DataAdapter.Fill(DataSet1, "web_tb")

DataGridView1.Refresh()
count()
If con.State = ConnectionState.Open Then
con.Close()
End If
MsgBox("تم الاضافه والحفظ بنجاح")
الرد }}}
تم الشكر بواسطة:
#6
the connectionstring property has not been intialized
يقصد أن الاتصال غير مهيئ يعني ده
PHP كود :
Public con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" Application.StartupPath "\web.accdb;Jet OLEDB:Database Password=12345"

بالاضافة أني لاحظت أنك عملت Open مرتين
الرد }}}
تم الشكر بواسطة: محمد اسماعيل
#7
(13-12-17, 01:50 AM)طالب برمجة كتب : the connectionstring property has not been intialized
يقصد أن الاتصال غير مهيئ يعني ده
PHP كود :
Public con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" Application.StartupPath "\web.accdb;Jet OLEDB:Database Password=12345"

بالاضافة أني لاحظت أنك عملت Open مرتين

 تم حل المشكلة

حسبي الله ونعم الوكيل في البرمجة الي توهت الواحد ههههة

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



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


يقوم بقرائة الموضوع: