http://www.daveandal.com/7035cs/08%20to%2011%20-%20Data%20Management/data03/parameter-stored-proc.aspx

解决方案 »

  1.   

    //=========================调用pr_budget存储过程===========================
    String strConn;
    SqlConnection cn;
    strConn = ConfigurationSettings.AppSettings["stock"];
    // 连接到stock数据库
    cn = new SqlConnection(strConn);
    SqlCommand cm = new SqlCommand("",cn);
    cn.Open();
    cm.CommandText="pr_budget";
    cm.CommandType =CommandType.StoredProcedure;
    cm.Parameters.Add(new SqlParameter("@p_userid",SqlDbType.Int,10)); //用户id
    cm.Parameters.Add(new SqlParameter("@p_stockcode",SqlDbType.VarChar,6)); //股票代码
    cm.Parameters.Add(new SqlParameter("@p_excode",SqlDbType.VarChar,6)); //证交所代码
    cm.Parameters.Add(new SqlParameter("@p_bsflag",SqlDbType.VarChar,6)); //买卖标志
    cm.Parameters.Add(new SqlParameter("@p_newprice",SqlDbType.Decimal)); //最新价
    cm.Parameters.Add(new SqlParameter("@p_freecp",SqlDbType.Decimal,14,ParameterDirection.Output,false,0,0,string.Empty,  DataRowVersion.Default, null)); //可用资金
    cm.Parameters.Add(new SqlParameter("@p_canbuy",SqlDbType.Decimal,14,ParameterDirection.Output,false,0,0,string.Empty,  DataRowVersion.Default, null)); //可买股票数
    cm.Parameters.Add(new SqlParameter("@p_cansell",SqlDbType.Decimal,14,ParameterDirection.Output,false,0,0,string.Empty,  DataRowVersion.Default, null)); //可卖股票数
    cm.Parameters.Add(new SqlParameter("@p_win",SqlDbType.Decimal,14,ParameterDirection.Output,false,0,0,string.Empty,  DataRowVersion.Default, null)); //保本价
    cm.Parameters.Add(new SqlParameter("@p_error",SqlDbType.VarChar,40,ParameterDirection.Output,false,0,0,string.Empty,  DataRowVersion.Default, null)); //错误信息
    cm.Parameters.Add(new SqlParameter("returnvalue",SqlDbType.Int,4,ParameterDirection.ReturnValue, false, 0, 0,string.Empty, DataRowVersion.Default, null));

    cm.Parameters["@p_userid"].Value=System.Convert.ToInt16(HttpContext.Current.Session["UserId"]);
    //cm.Parameters["@p_userid"].Value= 1;
    cm.Parameters["@p_stockcode"].Value = StockCode;
    cm.Parameters["@p_excode"].Value = ExCode;
    cm.Parameters["@p_bsflag"].Value = BsFlag;
    cm.Parameters["@p_newprice"].Value = NewPrice;
    cm.ExecuteNonQuery();
    ReturnValue = cm.Parameters["returnvalue"].Value.ToString();
    FreeCp = cm.Parameters["@p_freecp"].Value.ToString();
    CanBuy = cm.Parameters["@p_canbuy"].Value.ToString();
    CanSell = cm.Parameters["@p_cansell"].Value.ToString();
    Win = cm.Parameters["@p_win"].Value.ToString();
    ErrorInfo = cm.Parameters["@p_error"].Value.ToString();