Oracle datareader不返回任何行

jip*_*e44 1 c#

当我在sql developer中运行以下sql语句时,它将返回2行:

SELECT * FROM TEST
Run Code Online (Sandbox Code Playgroud)

当我在同一个连接上运行以下代码时,datareader.HasRows将为false:

        OracleCommand cmd = new OracleCommand();
        cmd.Connection = Connection;
        cmd.CommandText = "SELECT * FROM TEST";
        OracleDataReader dr = cmd.ExecuteReader();
        if (dr.HasRows)
        {
            while (dr.Read())
            {
                System.Windows.Forms.MessageBox.Show(dr.GetString(1));
            }
        }
        else
        {
            System.Windows.Forms.MessageBox.Show("no found rows");
        }
Run Code Online (Sandbox Code Playgroud)

为什么datareader不包含任何行?

附加信息:

  • 安装了Oracle 11g XE 64位.
  • 已安装ODAC 11.2 64位.
  • 添加了对"oracle\odp.net\bin\4\Oracle.DataAccess.dll"的引用
  • 补充:使用Oracle.DataAccess.Client;

jip*_*e44 5

因为我没有提交我的create table和insert语句,所以第三方组件无法获得数据.