コード例 #1
0
        static void Main(string[] args)
        {
            OracleConnection conn = DBUtils.GetDBConnection();

            conn.Open();
            try
            {
                // Tạo một đối tượng Command để gọi hàm Get_Emp_No.
                OracleCommand cmd = new OracleCommand("Get_Emp_No", conn);

                // Kiểu của Command là StoredProcedure
                cmd.CommandType = CommandType.StoredProcedure;

                // ** Chú ý: Với Oracle, tham số trả về phải được thêm vào đầu tiên.
                // Tạo một đối tượng Parameter, lưu trữ kết quả trả về của hàm  (Varchar2(50)).
                OracleParameter resultParam = new OracleParameter("@Result", OracleDbType.Varchar2, 50);

                // ReturnValue
                resultParam.Direction = ParameterDirection.ReturnValue;

                // Thêm vào danh sách tham số.
                cmd.Parameters.Add(resultParam);

                // Thêm tham số @p_Emp_Id và sét giá trị của nó = 100.
                cmd.Parameters.Add("@p_Emp_Id", OracleDbType.Int32).Value = 100;

                // Gọi hàm.
                cmd.ExecuteNonQuery();

                string empNo = null;
                if (resultParam.Value != DBNull.Value)
                {
                    Console.WriteLine("resultParam.Value: " + resultParam.Value.GetType().ToString());
                    OracleString ret = (OracleString)resultParam.Value;
                    empNo = ret.ToString();
                }
                Console.WriteLine("Emp No: " + empNo);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
                Console.WriteLine(e.StackTrace);
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }

            Console.Read();
        }
コード例 #2
0
ファイル: DAL.cs プロジェクト: radtek/BMCSDL
        //tra ve gia tri don
        public string excutescalar(string query, OracleParameter[] sqlParameters, OracleDbType oracleDbType, CommandType commandType)
        {
            conn.Open();
            string result = "";

            try
            {
                OracleCommand cmd = conn.CreateCommand();
                cmd.CommandText = query;
                cmd.CommandType = commandType;
                if (sqlParameters != null)
                {
                    foreach (OracleParameter param in sqlParameters)
                    {
                        cmd.Parameters.Add(param);
                    }
                }
                OracleParameter resultParam = new OracleParameter("@Result", OracleDbType.Varchar2, 50);
                // ReturnValue
                resultParam.Direction = ParameterDirection.ReturnValue;
                // Thêm vào danh sách tham số.
                cmd.Parameters.Add(resultParam);
                cmd.ExecuteNonQuery();
                if (resultParam.Value != DBNull.Value)
                {
                    OracleString ret = (OracleString)resultParam.Value;
                    result = ret.ToString();
                }
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }
            return(result);
        }