gridview中的Oracle数据库表

Lok*_*oko 4 c# oracle gridview winforms

我想从我的oracle数据库中的查询中获取结果并将其放在gridview中.现在我的问题是,我不知道如何在gridview中输出它.我正在使用工具箱中的gridview,我的oracle连接正在运行.我也有正确的SELECT查询,我可以在列表框中输出.我只是不知道如何在gridview中执行此操作.我找了它,我遇到了这个:如何用mysql填充gridview?虽然这对我没有帮助.

如何在gridview中输出它,使其看起来与oracle数据库中的普通表完全相同?

我应该使用什么以及如何使用?

这是我的代码:

public void read()
        {
            try
            {
                var conn = new OracleConnection("")
                conn.Open();
                OracleCommand cmd = new OracleCommand("select * from t1", conn);
                OracleDataReader reader = cmd.ExecuteReader();
                DataTable dataTable = new DataTable();
            while (reader.Read())
            {
                var column1 = reader["vermogen"];
                column = (column1.ToString());
                listBox1.Items.Add(column);
            }
            conn.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }
Run Code Online (Sandbox Code Playgroud)

Ste*_*eve 9

要将a绑定DataTableDataGridView您的代码,只需将其更改为

    public void read()
    {
        try
        {
            using(OracleConnection conn = new OracleConnection("....."))
            using(OracleCommand cmd = new OracleCommand("select * from t1", conn))
            {
                conn.Open();
                using(OracleDataReader reader = cmd.ExecuteReader())
                {
                     DataTable dataTable = new DataTable();
                     dataTable.Load(reader);
                     dataGridView1.DataSource = dataTable;
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

OracleDataReader可以传递给DataTable的Load方法,然后表就可以绑定到DataGridView DataSource属性了.我还添加了一些使用声明,以确保正确处理所用的一次性物品.(特别是在异常的情况下不关闭OracleConnection是非常昂贵的)