string adUrl ="";
int spRst=0;SqlParameter[] parms = {
   new SqlParameter("@UserId", SqlDbType.Int,4),
   new SqlParameter("@UserIp", SqlDbType.NVarChar,50),
   new SqlParameter("@ReURL", SqlDbType.NVarChar,1000),
   new SqlParameter("@return", SqlDbType.Int,4)
   };
parms[0].Value = _userid;
parms[1].Value = GuestInfo.GetIP();
parms[2].Direction = ParameterDirection.Output;
parms[3].Direction = ParameterDirection.Output;

SqlHelper.ExecuteNonQuery(new CONN(adDbName).ConnString,"Guest_User_SP",parms);
adUrl = parms[2].Value.ToString();
spRst = (int)parms[3].Value;
执行时一说是没有实例对象~~

解决方案 »

  1.   

    检查 GuestInfo,new CONN(adDbName).ConnString两处
      

  2.   

    估计是SqlHelper.ExecuteNonQuery(new CONN(adDbName).ConnString,"Guest_User_SP",parms);有问题,SqlHelper.ExecuteNonQuery确定没错?
    再来就看new CONN(adDbName).ConnString
      

  3.   

    SqlHerlper是MS下的,没有改动过~
    这个应该是不用怀疑的~
    我现在换成输出成一个记录集来读了~哎~
      

  4.   

    public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) {
                SqlCommand cmd = new SqlCommand();
                PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);
                int val = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                return val;
            }注意: cmd.Parameters.Clear();