2011-01-12 114 views
2

我想填充oracle数据集== NULL;如何用oracle数据库中的C#填充数据集

我使用它与.NET框架2.0用C#

+2

您是否收到一个错误?发布您的示例代码,以便我们可以看到您尝试执行的操作,您是使用odp还是已弃用的system.data.oracleclient? – Harrison 2011-01-12 12:27:00

回答

8

这里是一个例子System.Data.OracleClient的 http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter%28v=vs.71%29.aspx(本例中为1.1,但是将工作相同的同2.0)

(片断从链路)

OracleConnection conn = new OracleConnection("Data Source=Oracle8i;Integrated Security=yes"); 
Conn.Open; 
OracleCommand cmd = conn.CreateCommand(); 
cmd.CommandText = "sp_pkg.getdata"; 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.Parameters.Add(new OracleParameter("a1", OracleType.Cursor)).Direction = ParameterDirection.Output; 
cmd.Parameters.Add(new OracleParameter("a2", OracleType.Cursor)).Direction = ParameterDirection.Output; 
DataSet ds = new DataSet(); 
OracleDataAdapter adapter = new OracleDataAdapter(cmd); 
adapter.Fill(ds); 

这里是ODP(推荐)例如: http://www.oracle.com/technology/sample_code/tech/windows/odpnet/DSPopulate/ViewProducts.cs.html

(摘自链接)

//Instantiate OracleDataAdapter to create DataSet 
productsAdapter = new OracleDataAdapter(); 

//Fetch Product Details 
productsAdapter.SelectCommand = new OracleCommand("SELECT " + 
                "Product_ID , " + 
                "Product_Name , " + 
                "Product_Desc , " + 
                "Category, " + 
                "Price " + 
                "FROM Products",conn); 

//Instantiate DataSet object 
productsDataSet = new DataSet("productsDataSet"); 

//Fill the DataSet with data from 'Products' database table 
productsAdapter.Fill(productsDataSet, "Products"); 

//setting 'productsDataSet' as the datasouce and 'Products' table 
//as the table to which the 'productsDataGrid' is Bound. 
productsDataGrid.SetDataBinding(productsDataSet,"Products"); 
+0

来自遥远的未来的你好。最后一步不是这个特定问题的一部分。但是,如果您打算对数据集进行任何CRUD操作,那就是要走的路。 – Thor 2017-02-24 12:23:13