【问题标题】:Displaying results of query to Oracle database in dataGrid在 dataGrid 中显示对 Oracle 数据库的查询结果
【发布时间】:2017-10-17 13:07:52
【问题描述】:

我正在努力使我的 dataGrid viev 查询结果。与数据库的连接很好。这是我的代码示例:

            using (OracleConnection conn = new OracleConnection())
            {
            conn.ConnectionString = "properConnectionString"
            conn.Open();

                OracleCommand cmd = new OracleCommand();
                cmd.Connection = conn;
                cmd.CommandText = "select * FROM WORKERS";
                cmd.CommandType = CommandType.Text;

                OracleDataReader dr = cmd.ExecuteReader();
            using (OracleDataAdapter orclDataAdapter = new OracleDataAdapter(cmd))
            {
                DataTable dt = new DataTable();
                orclDataAdapter.Fill(dt);


                dataGridView1.DataSource = dt;
            }
        }

【问题讨论】:

  • 有什么问题?数据网格是空的?您是否确认您正在取回一些数据?

标签: c# sql oracle winforms


【解决方案1】:

假设您对 Oracle 数据库的调用实际上是在返回数据,那么您在 gridview 上缺少数据绑定语句。添加这个:

dataGridView1.DataBind();

将它放在dataGridView1.DataSource = dt; 代码行之后。

【讨论】:

  • @NoSaidTheCompiler 我认为我在通过电话获取一些数据时遇到了问题。你知道可能的原因吗?这是截图:imgur.com/a/pfem2
  • 查看查询是否返回数据的一种方法是在dataGridView1.DataSource = dt 处放置一个中断,运行程序,当它在代码行中断时,在命令窗口中键入:? dt.rows.count 如果结果大于零,你有数据。但是如果没有databind 语句,您将永远不会看到数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 2011-10-06
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多