请问一下,C# winform中通过OleDbCommand,怎么调用oracle返回游标类型的函数?急!!!
解决方案 »
- 如何判断一个事件的产生
- 判断判断有点麻烦!!!请教高手
- DataGridView 的列标题设置:小标题上再有大标题
- List <bullet> blist=new List <bullet>();与public ArrayList bList=new ArrayList();那个效率高,功能上等效吗?
- 谁可以提供三层项目(cs)给我,要求用remoting实现的中间层;
- 几个小问题
- 请教各位大大一个弱弱的问题,关于VS中的帮助
- 菜鸟问题:为什么最小化窗口后窗体上的图形都没有了?
- 莫明其妙的问题,折腾了一天没好,紧急求救,各位高手快来指点迷津
- 如何将一个access数据库(.mdb)放到网上做web service?
- FarPoint
- 誰能提供一個完整的且安全性周全的DBHelper類及其使用方法?
/// 执行带参数的存储过程返回数据集
/// </summary>
/// <param name="StoreName">过程名称</param>
/// <param name="ParamsName">参数名称列表</param>
/// <param name="ParamsValue">参数值列表</param>
/// <returns>返回的数据集</returns>
public DataSet exeProc_ReDs(string StoreName, string[] ParamsName, object[] ParamsValue)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = this.conn;
if (inTran)
{
cmd.Transaction = sqlTran;
} if ((ParamsName != null) && (ParamsName.Length != ParamsValue.Length))
{
throw new System.Exception("参数和值不对应!");
} cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = StoreName; if (ParamsName != null)
{
SqlParameter OraParams;
for (int i = 0; i < ParamsName.Length; i++)
{
OraParams = new SqlParameter(ParamsName[i], ParamsValue[i]);
cmd.Parameters.Add(OraParams);
} } DataSet ds = new DataSet();
using (SqlDataAdapter ad = new SqlDataAdapter())
{
ad.SelectCommand = cmd;
ad.Fill(ds);
}
return ds;
}
}
public string getByPD(string pdName, string[] values)
{
string temp = null;
try
{
OleDbCommand cmd = new OleDbCommand();
OleDbTransaction tran = con.BeginTransaction();
cmd.Transaction = tran;
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = pdName;
OleDbDataAdapter oda = new OleDbDataAdapter();
cmd.Parameters.Add(new OleDbParameter("?", OracleType.Cursor));
cmd.Parameters[0].Direction = ParameterDirection.Output;//注册返回参数
oda.SelectCommand = cmd;
DataSet ds = new DataSet();
oda.Fill(ds);
tran.Commit();
}
catch (Exception e)
{
throw e;
}
return temp;
}
{
// open connection
try { oracleConn.Open(); }
catch { throw new Exception(); }
// build command
OleDbCommand cmd = new OleDbCommand("{call fn_getcorp(?)}", oracleConn);
cmd.CommandType = CommandType.Text;
// add parameters
cmd.Parameters.Add("vsguid", OleDbType.VarChar).Value = "5BDBB7B538034877B0AAD2E0F9B28DF7";
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
// fill dataset
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0].Rows.Count.ToString();
// all done, return
// return ds;
}