Bonjour,
Je souhaite rajouter un nouveau champ dans ma table et puis mettre à jour ma db.
Problème: Mon nouveau champ n est pas crée dans la DB. Une idée??
Voici mon code:
Try
connectionStr = "provider=microsoft.jet.oledb.4.0;" & "data source= " & db & ";"
conn = New OleDb.OleDbConnection(connectionStr)
conn.Open()
da = New OleDb.OleDbDataAdapter
cmd = conn.CreateCommand
cmd.CommandType = CommandType.TableDirect
cmd.CommandText = "SYS_HISTORY"
da.SelectCommand = cmd
da.Fill(ds, "SYS_HISTORY")
' *** Add a new column ***
myDataColumn.DataType = System.Type.GetType("System.String")
myDataColumn.ColumnName = "id_STR"
Dim dtm As System.Data.Common.DataTableMapping
Dim table As DataTable
dtm = da.TableMappings.Add("SYS_HISTORY", "SYS_HISTORY")
dtm.ColumnMappings.Add("id_STR", "id_STR")
table = ds.Tables("SYS_HISTORY")
table.Columns.Add(myDataColumn)
br = New OleDb.OleDbCommandBuilder(da)
ds.Tables(0).AcceptChanges()
da.Update(ds, "SYS_HISTORY")
'da.Update(ds.Tables("SYS_HISTORY"))
' da.Update(ds)
conn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Partager