C#里的调用代码
C#代码
- [Test]
- public void Page1Test()
- {
- using(Database db = DBFactory.Create())
- {
- const string sql = " select * from test_temp where ID < 1000 order by id asc ";
- OracleCommand cmd = new OracleCommand("PAGESPLIT_PKG.PAGESPLIT_SP",db.Connection);
- cmd.CommandType = CommandType.StoredProcedure;
- OracleParameter p1 = new OracleParameter("pagesize", OracleDbType.Int32);
- p1.Direction = ParameterDirection.Input;
- p1.Value = 20;
- OracleParameter p2 = new OracleParameter("pageindex", OracleDbType.Int32);
- p2.Direction = ParameterDirection.Input;
- p2.Value = 2;
- OracleParameter p3 = new OracleParameter("sqltext", OracleDbType.Varchar2);
- p3.Direction = ParameterDirection.Input;
- p3.Value = sql;
- OracleParameter p4 = new OracleParameter("Records_out", OracleDbType.Int32,DBNull.Value,ParameterDirection.Output); //就算是空值也要写,否则是会出错的
- OracleParameter p5 = new OracleParameter("table_out", OracleDbType.RefCursor,DBNull.Value, ParameterDirection.Output);
- cmd.Parameters.Add(p1);
- cmd.Parameters.Add(p2);
- cmd.Parameters.Add(p3);
- cmd.Parameters.Add(p4);
- cmd.Parameters.Add(p5);
- OracleDataAdapter da = new OracleDataAdapter(cmd);
- DataSet ds = new DataSet();
- da.Fill(ds);
- Console.WriteLine(ds.Tables.Count);
- Console.WriteLine(ds.Tables[0].TableName);
- Console.WriteLine(ds.Tables[0].Rows.Count);
- Console.WriteLine("结果:" + cmd.Parameters["Records_out"].Value.ToString());
- foreach(DataRow row in ds.Tables[0].Rows)
- {
- Console.WriteLine(row[1]);
- }
- }
- }
阅读全文及评论...
订阅地址
