很明显,user没有实例化。
看看user有没有new

解决方案 »

  1.   

    不要告诉我 你把user实例到全局了
      

  2.   

    SqlParameter[] param ={
                                       new SqlParameter("@UserName",SqlDbType.NVarChar),
                                       new SqlParameter("@UserPassword",SqlDbType.NVarChar),
                                       new SqlParameter("@UserSex",SqlDbType.NVarChar),
                                       new SqlParameter("@UserPhone",SqlDbType.NVarChar),
                                       new SqlParameter("@Charm",SqlDbType.Int),
                                       new SqlParameter("@GroggeryId",SqlDbType.Int),
                                       new SqlParameter("@UserState",SqlDbType.Int),
                                       new SqlParameter("@UserImage",SqlDbType.NVarChar),
                                       new SqlParameter("@Number",SqlDbType.Int),
                                       new SqlParameter("@UserId",SqlDbType.Int)
                                       };
                 param[0].Value = user.UserId;
    param 先实例化下
                 param[1].Value = user.UserName;
                 param[2].Value = user.UserPassword;
                 param[3].Value = user.UserSex;
                 param[4].Value = user.UserPhone;
                 param[5].Value = user.Charm;
                 param[6].Value = user.Groggery.GroggeryId;
                 param[7].Value = user.UserState;
                 param[8].Value = user.UserImage;
                 param[9].Value = user.Number;
      

  3.   

    执行sql语句或表中外键引用字段是否为空的问题
      

  4.   


        user.Groggery.GroggeryId = 100; 
       这行出错. 
      

  5.   

    Groggery 是什么 是类还是枚举看Groggery 里面GroggeryId 是不是public
      

  6.   


      单步调试 
              user.Groggery.GroggeryId = 100;  
               这一行过不去. 不是SQL语句的问题吧。 
                  
      

  7.   


    user.Groggery这个没有实例化吧?
      

  8.   

    引用 18 楼 stylewang0529 的回复:
    引用 17 楼 jy02349551 的回复:user.Groggery这个没有实例化吧? 
      这个要怎么实例化? 
      

  9.   

    Groggery g=new Groggery();
    user.Groggery=g;
      

  10.   

    user.Groggery.GroggeryId = 100;
    你在使用user.Groggery实例字段时,要先将它关联到对象才可以对其进行操作,而你此时的user.Groggery是null,由构造函数初始化的!所以你需要先new一个Groggery再赋给user.Groggery
      

  11.   


    protected void Button1_Click(object sender, EventArgs e)
            {
                user.UserName = this.txtUserName.Text;
                user.UserPassword = this.txtUserPassword.Text;//你这里的user实体类,只给9个属性赋值,插入操作里面有10个字段,不报错才怪!!!!!@UserId呢?传进去没?这个对应字段是否允许为空?
      

  12.   

    异常堆栈信息已经说得很清楚了,楼主你视而不见:
    System.NullReferenceExceptionUser.Groggery为null,
    此时这个对象就叫做: "没有实例化的对象"
    所以引用User.Groggery的属性就是:"引用没有实例化的对象"
      

  13.   

    先new 一个对象然后在赋值在使用这个对象。
      

  14.   

    这种引用类型错误:System.NullReferenceExceptionuser.Groggery.GroggeryId  这里3个对象,有至少一个为空。