应无所住,而生其心
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

c#执行存储过程

4184人阅读 2017/10/11 17:20 总访问:4699911 评论:0 收藏:0 手机
分类: .NET

含有输入输出参数的存储过程(这里的存储过程是oracle)

using (OracleConnection conn = new OracleConnection("server=127.0.0.1;uid=system;pwd=123456;data source=orcl"))
{
    conn.Open();
    using (OracleCommand com = new OracleCommand("myproc", conn))
    {

        //设置执行的命令类型
        com.CommandType = CommandType.StoredProcedure;

        //创建一个输入参数
        OracleParameter p = new OracleParameter("pename", OracleType.NVarChar, 64);
        p.Value = "SCOTT";

        //创建两个个输出参数
        OracleParameter p_sal = new OracleParameter("psal", OracleType.Int32);
        p_sal.Direction = ParameterDirection.Output;//设置参数为输出参数

        OracleParameter p_job = new OracleParameter("pjob", OracleType.NVarChar, 64);
        p_job.Direction = ParameterDirection.Output;//设置参数为输出参数

        com.Parameters.Add(p);
        com.Parameters.Add(p_sal);
        com.Parameters.Add(p_job);

        com.ExecuteNonQuery();

        //如果存储过程返回结果就执行com.ExecuteReader();或者返回一个datatable即可
        com.ExecuteReader();

    }
}

含有返回结果的存储过程(这里的存储过程是sqlserver)

using (SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=123456;database=myoa"))
{
    conn.Open();
    using (SqlCommand com = new SqlCommand("myproc", conn))
    {

        //设置执行的命令类型
        com.CommandType = CommandType.StoredProcedure;

        //如果存储过程返回结果就执行com.ExecuteReader();或者返回一个datatable即可
        SqlDataReader reader = com.ExecuteReader();

        if (reader.Read())
        {
            MessageBox.Show(reader[1].ToString());
        }

    }
}


欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739

评价