Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ODP.NET DataAdapter在C#中填充数据集来获取列名?_C#_Odp.net - Fatal编程技术网

如何使用ODP.NET DataAdapter在C#中填充数据集来获取列名?

如何使用ODP.NET DataAdapter在C#中填充数据集来获取列名?,c#,odp.net,C#,Odp.net,我正在使用ODP.NET的OracleDataAdapter填充一个数据表。我还想传递列标题。你知道怎么做吗?谢谢 OracleDataAdapter oda = new OracleDataAdapter(oc); oda.Fill(dt); FileInfo outFile = new FileInfo(outputPath + "out.xlsx"); using (ExcelPackage pck = new E

我正在使用ODP.NET的OracleDataAdapter填充一个数据表。我还想传递列标题。你知道怎么做吗?谢谢

OracleDataAdapter oda = new OracleDataAdapter(oc);

            oda.Fill(dt);

            FileInfo outFile = new FileInfo(outputPath + "out.xlsx");
            using (ExcelPackage pck = new ExcelPackage(outFile))
            {


                //Create the worksheet
                ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Netstat");
                for (int row = 1; row <= dt.Rows.Count; row++)
                {
                    for (int column = 1; column <= dt.Columns.Count; column++)
                    {
                        ws.Cells[row, column].Value = dt.Rows[row - 1][column - 1];
                    }
                }

                pck.Save();
OracleDataAdapter oda=新的OracleDataAdapter(oc);
oda.Fill(dt);
FileInfo outFile=newfileinfo(outputPath+“out.xlsx”);
使用(ExcelPackage pck=新的ExcelPackage(outFile))
{
//创建工作表
Excel工作表ws=pck.Workbook.Worksheets.Add(“Netstat”);

对于(int row=1;row不确定如何填充
数据集
,但如果使用“标准方式”,即

然后列名已经在
数据集中了,即
MyDataSet.Tables[MyTableName].Columns[0].ColumnName

这是一个标准的ADO.NET功能,ODP.NET没有什么特别之处-请参阅和上的MSDN参考

编辑-在OP之后添加源代码:


在您的代码中,您没有使用
数据集
,而是使用
数据表
,因此您可以通过
dt.Columns[column].ColumnName来访问列名

不确定如何填充
数据集
,但如果您使用“标准方式”,即

然后列名已经在
数据集中了,即
MyDataSet.Tables[MyTableName].Columns[0].ColumnName

这是一个标准的ADO.NET功能,ODP.NET没有什么特别之处-请参阅和上的MSDN参考

编辑-在OP之后添加源代码:


在代码中,您使用的不是
DataSet
,而是
DataTable
,因此您可以通过
dt.Columns[column]访问列名.ColumnName

您能详细说明吗?我确信如果您循环所有datatable的datacolumn,您可以得到每列的fieldname。datatable的Columns集合将自动包含您DataAdapter的SelectCommand的所有选定字段。您能详细说明吗?我确信如果您循环所有datatable的datacolumn,您可以得到其fieldnameDataTable的Columns集合将自动包含您DataAdapter的SelectCommand的所有选定字段。
string MyTableName = "customers";
MyAdapter.Fill(MyDataSet, MyTableName);