ايران ويج

نسخه‌ی کامل: مشکل در update کردن
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

دوستان بنده میخوام که چند تا فیلد رو از یه رکورد که قبلا فیلدهای دیگش

پر شدن update کنم اما syntax error in UPDATE statment رو میزنه

در حالی که مشکلی هم نداره

Dim conStr As String = "provider = microsoft.jet.oledb.4.0;" & "data source =c:\1\1.mdb"
Dim conn As OleDbConnection = New OleDbConnection(conStr)
Dim sqlStr As String = "SELECT * FROM table1 where famel='" & ComboBox3.Text & "'"
conn.Open()
Dim da As OleDbDataAdapter = New OleDbDataAdapter(sqlStr, conn)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "table1")
td = "UPDATE table1 SET memo='salam' WHERE as=6"
Dim sen As New OleDbCommand(td, conn)
sen.ExecuteNonQuery()
da.Update(ds, "table1")
conn.Close()

ممنون میشم اگر نمونه رو بزارید (گرچه فکر نمیکنم که این SOURCE هم

مشکلی داشته باشه)


فعلا
سلام دوست عزیز:

شما وقتی که SelectCommand از DataAdapter را به یک دستور Select SQL مقدار دهی کردی DataSet یا DataReader شما از اطلاعات پر میشه ولی اگه خواستی تغییرات بدی باید از DataSet استفاده کنی و بعد اونو به این شکل پر کنی:
myDataAdapter.Fill(myDataSet)
اما مشکل Updateنشدن بعد از رعایت مطالب بالا اینکه شما با ید یک خط کد بنویسی.این خط دستور Update رو پر می کنه:
Dim objCommandBuilder As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(myDataAdapter)

موفق باشی.
----------------------------------------------
www.vbexpress.blogfa.com
کد اصلاح شده
Dim conStr As String = "provider = microsoft.jet.oledb.4.0;" & "data source =c:\1\1.mdb"
Dim conn As OleDbConnection = New OleDbConnection(conStr)
Dim sqlStr As String = "SELECT * FROM table1 where famel='" & ComboBox3.Text & "'"
conn.Open()
Dim da As OleDbDataAdapter = New OleDbDataAdapter(sqlStr, conn)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "table1")
’’’’’’’’’’’’’td = "UPDATE table1 SET memo='salam' WHERE as=6"
’’’’’’’’’’’’’Dim sen As New OleDbCommand(td, conn)
’’’’’’’’’’’’’sen.ExecuteNonQuery()
’’’’’’’’’’’’’da.Update(ds, "table1")
Dim objCommandBuilder As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da)
‘’’’’after changes:
Da.Update(ds)
conn.Close()