0

当我从 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)));
            }
4

2 回答 2

0

这就是问题所在:Oracle SQL Developer 有时要求您先提交更改,其他用户才能在数据库中看到它们。虽然我可以看到我的更改已登录,但 IIS 服务器却不能。一旦我提交了更改,它就可以正常工作。

于 2012-05-31T15:32:07.477 回答
0

我在细则中看到 OracleDataReader 在第一条记录之前启动,因此 Read() 前进到新打开的数据集上的第一条记录。

我将修改我的声明,因为您的最终 Read() 返回 false 并且未添加到您的选择器中。

于 2012-05-31T14:45:22.250 回答