日期:2014-05-18  浏览次数:20396 次

存储过程,大家帮我看看那里错了?
CREATE proc cx2
(@category varchar(10))
as
select * from lx1 where Name=@category
GO
--------------------------------------------
  public DataSet RunSelectProc(string procName, params SqlParameter[] paramS)
  {
  lj.open();
  SqlCommand cm = new SqlCommand();
  cm.Connection = lj.con;
  cm.CommandType = CommandType.StoredProcedure;
  cm.CommandText = procName;
  for (int i = 0; i < paramS.Length;i++)
  {
  cm.Parameters.Add(paramS[i]);
  }
  dar.SelectCommand = cm;
  dar.Fill(ds);
  lj.close();
  return ds;
  }
  /// <summary>
  /// 参数
  /// </summary>
  /// <param name="ParamName">参数名称</param>
  /// <param name="dbType">参数类型</param>
  /// <param name="Size">参数大小</param>
  /// <param name="Value"></param>
  /// <returns></returns>
  public SqlParameter CreateInParam(string ParamName, SqlDbType dbType, int Size, object Value)
  {
  return CreateParam(ParamName, dbType, Size, ParameterDirection.Input, Value);
  }
------------------------------------------------
 public void lj()
  {
  SqlParameter[] param ={
  sj.CreateInParam("@category",SqlDbType.VarChar,10,category)
  };
  ds = sj.RunSelectProc("cx2",param);
  this.GridView1.DataSource = ds;
  this.GridView1.DataBind(); ;
  }
-----------------------------------------------------

行 136: cm.Parameters.Add(paramS[i]);
行 137: }
行 138: dar.SelectCommand = cm;
行 139: dar.Fill(ds);
行 140: lj.close();
 dar.SelectCommand = cm;未将对象引用设置到对象的实例








怎么回事啊?



------解决方案--------------------
不是你的cm没实例,是你是dar没实例吧
------解决方案--------------------
你的dar可能光声明了 但没有实例化 加上下一句
C# code

            SqlDataAdapter dar=new SqlDataAdapter();
            dar.SelectCommand=cm;