close
    public string Procedure(OracleConnection Conn, string funName, string[] pararr, string[] parvalue, string p_out)//有輸出變數+回傳值 參數分別為  DB link , package function name , sql變數名稱 , sql變數值 , sql輸出變數
    {
        using (OracleCommand sqlcom = new OracleCommand(funName, Conn))
        {
            Conn.Open();
            sqlcom.CommandType = CommandType.StoredProcedure;

            OracleParameter[] param = new OracleParameter[pararr.Length + 1];//參數變數+輸出變數

            for (int i = 0; i <= pararr.Length - 1; i++)//加入變數名稱
            {
                param[i] = new OracleParameter(pararr[i], OracleType.NVarChar, 255);
                param[i].Direction = ParameterDirection.Input;
                param[i].Value = parvalue[i];
            }
            param[pararr.Length] = new OracleParameter(p_out, OracleType.NVarChar, 255);//加入輸出名稱
            param[pararr.Length].Direction = ParameterDirection.Output;


            OracleParameter par;
            for (int i = 0; i < param.Length; i++)
            {
                par = (OracleParameter)param[i];
                sqlcom.Parameters.Add(par);
            }

            sqlcom.ExecuteNonQuery();
            return Convert.ToString(param[pararr.Length].Value.ToString());
        }
    }
    public void voidProcedure(OracleConnection Conn, string funName, string[] pararr, string[] parvalue)//無輸出變數 參數分別為  DB link , package function name , sql變數名稱 , sql變數值
    {
        using (OracleCommand sqlcom = new OracleCommand(funName, Conn))
        {
            Conn.Open();
            sqlcom.CommandType = CommandType.StoredProcedure;

            OracleParameter[] param = new OracleParameter[pararr.Length];//參數變數+輸出變數

            for (int i = 0; i <= pararr.Length - 1; i++)//加入變數名稱
            {
                param[i] = new OracleParameter(pararr[i], OracleType.NVarChar, 255);
                param[i].Direction = ParameterDirection.Input;
                param[i].Value = parvalue[i];
            }

            OracleParameter par;
            for (int i = 0; i < param.Length; i++)
            {
                par = (OracleParameter)param[i];
                sqlcom.Parameters.Add(par);
            }

            sqlcom.ExecuteNonQuery();
        }
    }
    public DataSet curProcedure(OracleConnection Conn, string funName, string[] pararr, string[] parvalue, string p_out)//cursor使用
    {
        OracleCommand sqlcom = new OracleCommand(funName, Conn);

        sqlcom.CommandType = CommandType.StoredProcedure;

        OracleParameter[] param = new OracleParameter[pararr.Length];//參數變數+輸出變數

        for (int i = 0; i < pararr.Length; i++)//加入變數名稱
        {
            param[i] = new OracleParameter(pararr[i], OracleType.NVarChar, 255);
            param[i].Direction = ParameterDirection.Input;
            param[i].Value = parvalue[i];
        }

        OracleParameter par;
        for (int i = 0; i < param.Length; i++)
        {
            par = (OracleParameter)param[i];
            sqlcom.Parameters.Add(par);
        }

        OracleParameter param1 = sqlcom.Parameters.Add(p_out, OracleType.Cursor);
        param1.Direction = ParameterDirection.Output;

        OracleDataAdapter da = new OracleDataAdapter(sqlcom);

        DataSet ds = new DataSet();
        da.Fill(ds, "dtDataList");

        return ds;
    }

arrow
arrow
    文章標籤
    C#
    全站熱搜
    創作者介紹
    創作者 芭樂養樂多 的頭像
    芭樂養樂多

    隨手筆記

    芭樂養樂多 發表在 痞客邦 留言(0) 人氣()