如何在Oracle表中插入虚拟列数据?

Tho*_*ton 1 vb.net oracle dataadapter

我有一个从 oracle 数据库加载数据表的 .Net 应用程序。该表包含一个虚拟列。

当我在数据表中插入新行时,它显示:

虚拟列上不允许插入 INSERT 操作

我确实理解这个错误,但我不知道在将数据保存回数据库时如何跳过虚拟列。

这是我的代码:

    Dim Command As OracleCommand
    Dim TempDataAdapter As OracleDataAdapter
    Dim DataSet = new DataSet
    Dim Name = "MyTable"
    Dim TempDataAdapter As OracleDataAdapter
    Dim DataTable as DataTable

    'The connection is defined somewhere else...
    Command = New OracleCommand("MyTable", Me.Connection) 
    Command.CommandType = CommandType.Text

    TempDataAdapter = New OracleDataAdapter(Command)

    'Fill the table from the database 
    TempDataAdapter.FillSchema(DataSet, SchemaType.Source, Name)
    DataTable = DataTable = DataSet.Tables(0)           
Run Code Online (Sandbox Code Playgroud)

以及将数据保存回数据库的代码:

    TempDataAdapter.Update(DataTable)
Run Code Online (Sandbox Code Playgroud)

创建数据表后,我尝试从数据表中删除虚拟列: DataTable.Columns.Remove(DataTable.Columns("MyVirtualColumn"))

但是当将数据保存回数据库时,它返回相同的错误。

有人可以帮忙吗?

干杯,

Gar*_*ers 5

如果您不尝试填充或查询虚拟列,您可以在该表上创建一个排除虚拟列的视图并使用该视图。