ورود

View Full Version : من یک dataview دارم که تغییر کرده چطور تغییرات به database ارسال کنم



bah_jaf
سه شنبه 07 آبان 1387, 10:22 صبح
این کدی هست که من دارم یه dataview دارم که تغییرات را درون اون انجام دادم وقتی میخواهم تغییرات را به دیتا بیسم ارسال کنم error میده و update نمیشه. میشه لطفا کمکم کنید؟ :عصبانی++::عصبانی:


Dim CmdLogin As OleDbCommand
Dim CmdUpdate As OleDbCommand
Dim CmdInsert As OleDbCommand
Dim DaLogin As New OleDbDataAdapter()
Dim DsLogin As New DataSet
Dim DvLogin As DataView
Dim CrmLogin As CurrencyManager

‘ باز کردن دیتا بیس و ایجاد دیتاست و دیتا ویو

DbMasterCnn = New OleDbConnection( & "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & My.Application.Info.DirectoryPath & "\master.mdb'")


DbMasterCnn.Open()
CmdLogin = New OleDbCommand("Select * from login", DbMasterCnn)
DaLogin.SelectCommand = CmdLogin
DaLogin.UpdateCommand = CmdUpdate
DaLogin.InsertCommand = CmdInsert


DaLogin.Fill(DsLogin, "login")
DvLogin = New DataView(DsLogin.Tables("login"))
CrmLogin = CType(Me.BindingContext(DvLogin), CurrencyManager)

‘ افزودن یک رکورد

Dim test As DataRow
test = DsLogin.Tables("login").NewRow
test.Item("username") = "test"
test.Item("password") = "12345"
DsLogin.Tables("login").Rows.Add(test)

‘ ویرایش یک رکورد

CrmLogin.Current("username") = "NEW username"

‘ آپدیت کردن دیتا بیس

DaLogin.Update(DsLogin.Tables("login"))

__H2__
پنج شنبه 09 آبان 1387, 02:07 صبح
سلام
شما CmdUpdate و CmdInsert را نساخته اید.


Dim da As New System.Data.OleDb.OleDbDataAdapter()
da.SelectCommand = ...

'...

Dim cb As New System.Data.OleDb.OleDbCommandBuilder(da)
da.UpdateCommand = cb.GetUpdateCommand
da.InsertCommand = cb.GetInsertCommand
da.DeleteCommand = cb.GetDeleteCommand