• C#.net中三层结构中怎样调用存储过程


     下面的CmdObj.是定义的SqlCommand对象

    1、获得存储过程中return语句返回的整个存储过程函数的返回值:

    //获得存储过程return的值,定义一个参数,指明其作用是接受return的值
        CmdObj.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction =ParameterDirection.ReturnValue;
    通过获取该参数的方式最终获得return返回的值
    int reValue = int.Parse(CmdObj.Parameters["RETURN_VALUE"].Value.ToString());

    2、获得存储过程输出参数的值:

    定义sql的参数,指定类型是输出
    CmdObj.Parameters.Add("@outValue", SqlDbType.VarChar).Direction =ParameterDirection.Output;

    获得输出参数的值
    string outValue = CmdObj.Parameters["@outValue"].Value.ToString();

    总结,关键地方就是指明参数的Direction 属性,使用ParameterDirection来指定,可以指定4种类型,
    输入,
    输出,
    既是输入又是输出,
    接受returns

     
    (1)执行一个没有参数的存储过程的代码如下: 
    
    SqlConnection conn=new SqlConnection(“connectionString”); 
    SqlDataAdapter da = new SqlDataAdapter(); 
    da.selectCommand = new SqlCommand(); 
    da.selectCommand.Connection = conn; 
    da.selectCommand.CommandText = "NameOfProcedure"; 
    da.selectCommand.CommandType = CommandType.StoredProcedure; 
    (2)执行一个有参数的存储过程的代码如下 
    
    SqlConnection conn=new SqlConnection(“connectionString”); 
    SqlDataAdapter da = new SqlDataAdapter(); 
    da.selectCommand = new SqlCommand(); 
    da.selectCommand.Connection = conn; 
    da.selectCommand.CommandText = "NameOfProcedure"; 
    da.selectCommand.CommandType = CommandType.StoredProcedure; 
    param = new SqlParameter("@ParameterName", SqlDbType.DateTime); 
    param.Direction = ParameterDirection.Input; 
    param.Value = Convert.ToDateTime(inputdate); 
    da.selectCommand.Parameters.Add(param); 
    若需要添加输出参数: 
    
    param = new SqlParameter("@ParameterName", SqlDbType.DateTime); 
    param.Direction = ParameterDirection.Output; 
    param.Value = Convert.ToDateTime(inputdate); 
    da.selectCommand.Parameters.Add(param); 
    若要获得参储过程的返回值: 
    
    param = new SqlParameter("@ParameterName", SqlDbType.DateTime); 
    param.Direction = ParameterDirection.ReturnValue; 
    param.Value = Convert.ToDateTime(inputdate); 
    da.selectCommand.Parameters.Add(param);
  • 相关阅读:
    jQuery使用经验建议
    java的各种类型转换汇总
    二路归并排序算法实现-完整C语言程序
    Java连接MYSQL 数据库的连接步骤
    二叉树
    bat命令批量创建文件夹
    【转】Android原生PDF功能实现
    【转】Android root检测方法总结
    【转】Android 破解视频App去除广告功能详解及解决办法总结
    【转】什么是微信62数据,62数据脚本有什么用?
  • 原文地址:https://www.cnblogs.com/chenghu/p/2284083.html
Copyright © 2020-2023  润新知