Oracle存储过程+C#代码 例子

 实现添加   
          OracleConnection conn = new OracleConnection(ConnectionString);

            try
            {
                conn.Open();
                OracleCommand cmd = new OracleCommand("dept_SHOW.add_dept", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                OracleParameter[] parameters ={
                new OracleParameter("dept_no",OracleType.Number,2),
                new OracleParameter("dept_name",OracleType.VarChar,14),
                new OracleParameter("ReturnValue",OracleType.Number),
                                           };
                parameters[2].Direction = ParameterDirection.ReturnValue;
                parameters[0].Value = this.textBox1.Text.ToString();
                parameters[1].Value = this.textBox2.Text.ToString();
                foreach (OracleParameter parameter in parameters)
                    cmd.Parameters.Add(parameter);
                cmd.ExecuteNonQuery();
                int result = int.Parse(parameters[2].Value.Tostring());
                if (result == 1)
                {
                    MessageBox.Show("添加成功");
                }
                else
                {
                    MessageBox.Show("添加失败");
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();

            }
实现删除
 OracleConnection conn = new OracleConnection(ConnectionString);
            try
            {
                conn.Open();
                OracleCommand cmd = new OracleCommand("dept_SHOW.del_dept", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                OracleParameter para1 = new OracleParameter("dept_no", OracleType.Number, 2);
                OracleParameter para2 = new OracleParameter("ReturnType", OracleType.Number);
                para1.Value = this.textBox1.Text.ToString();
                para2.Direction = ParameterDirection.ReturnValue;
                cmd.Parameters.Add(para1);
                cmd.Parameters.Add(para2);
                cmd.ExecuteNonQuery();
                int result = int.Parse(para2.Value.ToString());
                if (result == 1)
                {
                    MessageBox.Show("删除成功");
                }
                else
                {
                    MessageBox.Show("删除失败");
                }
            }
            catch (Exception ee)
            { 
                   MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();
            }
实现查询
 OracleConnection conn = new OracleConnection(ConnectionString);
            try
            {
                Conn.Open();
                if (radioButton1.Checked)
                {
                    OracleCommand cmd = new OracleCommand("Emp_SHOW.show_empInfo", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    OracleParameter[] parameters ={
                    new OracleParameter("emp_no",OracleType.Number,4),
                    new OracleParameter("emp_name",OracleType.Varchar,10),
                    new OracleParameter("emp_job",OracleType.Varchar,9),
                    new OracleParameter("emp_sal",OracleType.Number,7),
                    new OracleParameter("emp_deptno",OracleType.Number,2),
                  };
                    parameters[0].Direction = ParameterDirection.InputOutput;
                    parameters[1].Direction = ParameterDirection.Output;
                    parameters[2].Direction = ParameterDirection.Output;
                    parameters[3].Direction = ParameterDirection.Output;
                    parameters[4].Direction = ParameterDirection.Output;
                    parameters[0].Value = this.textBox1.Text.ToString();
                    parameters[1].Value = "";
                    parameters[2].Value = "";
                    parameters[3].Value = 0;
                    parameters[4].Value = 0;
                    foreach (OracleParameter parameter in parameters)
                        cmd.ExecuteNonQuery();
                    int result = int.Parse(parameters[0].Value.ToString());
                    string result1 = parameters[1].Value.Tostring();
                    string result2 = parameters[2].Value.Tostring();
                    string result3 = parameters[3].Value.Tostring();
                    string result4 = parameters[4].Value.Tostring();
                    if (cmd.ExecuteNonQuery() > 0)
                    {
                        MessageBox.Show("员工编号:" + result + "\n员工姓名:" + result + "\n员工职位:" + result2 + "\n员工工资:" +
                        result3 + "\n部门编号:" + result4);
                    }
                    else
                    {
                        MessageBox.Show("查询失败");
                    }
                }
                if (radioButton2.Checked)
                {
                    OracleCommand cmd = new OracleCommand("Emp_SHOW.show_allempInfo", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    OracleParameter para = new OracleParameter("showout", OracleType.Cursor);
                    para.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(para);
                    DataTable dt = new DataTable("emp");
                    OracleDataReader odr = cmd.ExecuteReader();
                    dt.Load(odr);
                    this.dataGridView1.DataSource = dt;
                }
            }
            catch (Exeception ee)
            {
                MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();
            }
实现修改
 OracleConnection conn = new OracleConnection(ConnectionString);
           try
           {
             conn.Open();
             OracleCommand cmd=new OracleCommand("Emp_Show.updata_Emp",conn);
             cmd.CommandType=CommandType.StoredProcedure; 
             OracleParameter[] parameters={
             new OracleParameter("emp_no",OracleType.Number,4),
             new OracleParameter("emp_name",OracleType.VarChar,10),
             new OracleParameter("emp_job",OracleType.Varchar,9),
             new OracleParameter("emp_sal",OracleType.Number,7),
             new OracleParameter("emp_deptno",OracleType.Number,2),
             new OracleParameter("ReturnValue",OracleType.Number),
        };
        parameters[5].Direction=ParameterDirection.ReturnValue;
        parameters[0].Value=this.textBox1.Text.ToString();
        parameters[1].Value=this.textBox2.Text.ToString();
        parameters[2].Value=this.textBox3.Text.ToString();
        parameters[3].Value=this.textBox4.Text.ToString();
        parameters[4].Value=this.textBox5.Text.ToString();
        foreach(OracleParameter parameter in parameters)
        cmd.Parameters.Add(parameter);
        cmd.ExecuteNonQuery();
        int result=int.Parse(parameters[5].Value.Tostring());
        if(result==1)
        {
          MessageBox.Show("修改成功");
        }
        else
        {
            MessageBox.Show("修改失败");
        }
      }
     catch(Exception ee)
      {
          MessageBox.Show(ee.Message);
      }
     finally
      {
         conn.Close();
      }

你可能感兴趣的:(Oracle存储过程+C#代码 例子)