让DataAdapter获得修改后的表的新版本

时间:2018-12-30 01:21:11

标签: .net oracle

我有一个.Net应用程序,可从Oracle数据库加载表。代码必须动态地(从任何表中)加载数据。

我的代码很简单

    Dim Command As OracleCommand
    Dim DataAdapter As OracleDataAdapter
    Dim DataSet as DataSet

    Command = New OracleCommand("Select * from MyTable", Me.Connection) 'The connection object is set somewhere else
    Command.CommandType = CommandType.Text

    DataAdapter = New OracleDataAdapter(Command)
    DataAdapter.FillSchema(DataSet, SchemaType.Source, "MyTable")
    DataAdapter.Fill(DataSet, "MyTable")

第一次执行此代码时,一切正常。但是,如果我使用SQL开发者从数据库端在表MyTable中添加一个字段,则新字段在DataAdapter返回的表中不可用,因此我需要重新启动应用程序以将其考虑在内。

DataAdapter或OracleCommand中是否有任何要刷新的缓存?

有人知道如何解决吗?

谢谢,欢呼

1 个答案:

答案 0 :(得分:0)

这是答案:

OracleDataAdapter具有属性:重新查询

如果将其设置为true,则随后的每个Fill调用将重新执行查询并填充数据集。

来源: https://docs.oracle.com/en/database/oracle/oracle-database/18/odpnt/featRequery.html#GUID-D7A62257-0676-4B30-A85A-AEBD62D904B2