我有一个.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中是否有任何要刷新的缓存?
有人知道如何解决吗?
谢谢,欢呼
答案 0 :(得分:0)
这是答案:
OracleDataAdapter具有属性:重新查询
如果将其设置为true,则随后的每个Fill调用将重新执行查询并填充数据集。