如何使用C#从Oracle数据库填充数据集。

5

我正在尝试填充oracle数据集 == NULL;

我正在使用.NET Framework 2.0和C#。


3
你是否收到了错误提示?请发出你的示例代码,以便我们可以看到你尝试做了什么。你是在使用ODP还是已经被弃用的System.Data.OracleClient呢? - Harrison
1个回答

14

这里有一个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"); 

1
来自遥远未来的问候。最后一步不是这个问题的组成部分。但如果你想对数据集进行任何CRUD操作,那就是正确的方式。 - Thor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接