当我从SQLDeveloper运行查询时,它运行正常并检索所有记录。以下代码是在部门询问时检索除一条记录之外的所有记录。是否存在新创建的条目无法显示的各种查询的缓存?我使用的是Oracle DataAccess客户端,而不是已弃用的客户端。
代码:
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
string currentDatabase = universalDll.getDB();
List<string> majors = new List<string>();
try
{
OracleConnection conn = new OracleConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings[currentDatabase].ConnectionString;
conn.Open();
string sql =
"SELECT DISTINCT description,code " +
"FROM tablea a " +
"JOIN tableb b " +
"ON a.code = b.code ";
sql += "ORDER BY b.description";
OracleCommand executeQuery = new OracleCommand(sql, conn);
executeQuery.CommandType = CommandType.Text;
OracleDataReader dr = executeQuery.ExecuteReader();
while (dr.Read())
{
ddlChooser.Items.Add(new ListItem(dr.GetString(0) + "(" + dr.GetString(1) + ")", dr.GetString(1)));
}
答案 0 :(得分:0)
我在细则中看到OracleDataReader在第一条记录之前启动,因此Read()前进到新打开的数据集的第一条记录。
我将修改我的陈述,因为你的最后一个Read()返回false而没有被添加到你的选择器中。
答案 1 :(得分:0)
问题在于:Oracle SQL Developer有时会要求您在其他用户可以在数据库中看到更改之前提交更改。虽然我可以看到我的更改已登录,但IIS服务器却无法。一旦我提交更改,它工作正常。