存储过程里有个return @count  是返回查询记录的条数
asp中:
 SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConStr"]);
            SqlCommand comm = new SqlCommand();
            comm.Connection = conn;
            comm.CommandText = "UserInfo_Select";
            comm.CommandType = CommandType.StoredProcedure;
            comm.Parameters.AddWithValue("@NickName", NickName);
            comm.Parameters.AddWithValue("@type", 0);
            conn.Open();
            int temp= comm.ExecuteNonQuery();
            ……
我要想获得存储过程里返回的记录条数 该怎么写呢?

解决方案 »

  1.   

    是temp??  确实是temp  .ExecuteNonQuery()方法就是返回影响记录的条数.
    就跟sql一样
      

  2.   

    好像command对象有个ReturnVal属性.
      

  3.   

    /// <summary>
            /// 执行Oracle存储过程,
            /// </summary>
            /// <param name="procedureName">存储过程名称</param>
            /// <param name="parameterColl">存储过程参数集合</param>
            /// <param name="outField">返回参数</param>
            /// <returns></returns>
            public static string RunProcedure(string procedureName, OracleParameter[] parameterColl, string outField, OracleConnection conn)
            {
                string result = "";            try
                {
                    InitDB();//打开数据库连接
                    OracleCommand cmd = new OracleCommand();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Connection = conn;
                    cmd.CommandText = procedureName;                foreach (OracleParameter para in parameterColl)
                    {
                        cmd.Parameters.Add(para);
                    }
                    if (cmd.Connection.State == ConnectionState.Closed)
                        cmd.Connection.Open();                cmd.ExecuteNonQuery();
                    cmd.Connection.Close();
                    result = cmd.Parameters[outField].Value.ToString();
                }
                catch (Exception ex)
                {
                    BusinessLogical.Error.SystemLog.WriteLog("RunProcedure()  " + ex.Message + "  " + ex.Source);//写日志
                }
                return result;        }
      

  4.   

    解决了
    给存储过程加了个参数
                      comm.Parameters.Add(new SqlParameter("ReturnValue",
                    SqlDbType.Int, 4, ParameterDirection.ReturnValue,
                    false, 0, 0, string.Empty, DataRowVersion.Default, null));
    接收参数
             int result = (int)comm.Parameters["ReturnValue"].Value;谢各位~
      

  5.   

    你这不是开我心吗?你些的明明是asp.net代码.怎么会是asp代码呢,不要asp/asp.net不分好不好.