2017-05-17 58 views
0

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

  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; 
      } 
     } 
+0

问题是什么? Datagrid是空的?你确认你收到一些数据吗? – NoSaidTheCompiler

回答

0

假设您对Oracle数据库的调用实际上是返回数据,那么您在gridview中缺少databind语句。加入:

dataGridView1.DataBind(); 

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

+0

@NoSaidTheCompiler 我想我的问题是通过我的电话获取一些数据。你知道可能的原因吗? 这里是屏幕截图: http://imgur.com/a/pfem2 –

+0

查看您的查询是否返回数据的一种方法是在'dataGridView1.DataSource = dt'中放置一个中断,运行程序并在中断时一行代码,在命令窗口输入:'? dt.rows.count'如果结果大于零,则表示有数据。但是,如果没有'databind'语句,你永远不会看到数据。 –