附代码
public partial class Customer : System.Web.UI.Page
    {
        public string UserCode = "";
        public string UserName = "";
          
        protected void Page_Load(object sender, EventArgs e)
        {
            this.DataBind();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            M_Customer customer = new M_Customer();            customer.customerNo = txtcustomerNo.Text;
            customer.customerType = txtcustomerType.Text;
            customer.customerName = txtcustomerName.Text;
            
            customer.CusName = TextCusName.Text;
            customer.CusSex = RadioButton1.Checked ? "女子" : "男子";
            customer.CusJob = TextCusJob.Text;
            customer.CusAge = Convert.ToInt32(TextCusAge.Text); 
            customer.CusPhone = TextCusPhone.Text;
            customer.CusFax = TextCusFax.Text;
            customer.CusEmail = TextCusEmail.Text;
            customer.CusDepart = TextCusDepart.Text;
            customer.CusMarkDay = TextCusMarkDay.Text;
            customer.CusTel = TextCusTel.Text;
            customer.CusHobby = textCusHobby.Text;
            customer.CusRe = TextCusRe.Text;
            customer.ActionTime = DateTime.Now.ToString("yyyyMMddhhmm");
            customer.UserName = UserName;
            customer.UserCode = UserCode;
            
            if (B_Customer.dbIn(customer))
            {
                JScript.AlertAndWindowClose("操作成功", this.Page);
            }
            else
            {
                JScript.Alert("数据保存失败", this.Page);
            }

解决方案 »

  1.   

    参数化查询 '(@customerName varchar(50),@customerNo varchar(10),@customerType' 需要参数 '@UserCode',但未提供该参数。   这是完整的错误
      

  2.   

     /// <summary>
            /// 增加一条数据
            /// </summary>
            public bool dbIn(M_Customer model)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("insert into Customer(");
                strSql.Append("customerName,customerNo,customerType,CusName,CusSex,CusJob,CusAge,CusPhone,CusFax,CusEmail,CusDepart,CusMarkDay,CusTel,CusHobby,CusRe,UserCode,ActionTime,UserName");
                strSql.Append(") values (");
                strSql.Append("@customerName,@customerNo,@customerType,@CusName,@CusSex,@CusJob,@CusAge,@CusPhone,@CusFax,@CusEmail,@CusDepart,@CusMarkDay,@CusTel,@CusHobby,@CusRe,@UserCode,@ActionTime,@UserName");
                strSql.Append(") ");
                strSql.Append(";select @@IDENTITY");
                SqlParameter[] parameters = {
                new SqlParameter("@customerName", SqlDbType.VarChar,50) ,            
                            new SqlParameter("@customerNo", SqlDbType.VarChar,10) ,            
                            new SqlParameter("@customerType", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusName", SqlDbType.VarChar,10) ,            
                            new SqlParameter("@CusSex", SqlDbType.NChar,2) ,            
                            new SqlParameter("@CusJob", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusAge", SqlDbType.Int,4) ,            
                            new SqlParameter("@CusPhone", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusFax", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusEmail", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusDepart", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusMarkDay", SqlDbType.VarChar,50) ,            
                            new SqlParameter("@CusTel", SqlDbType.VarChar,20) ,            
                            new SqlParameter("@CusHobby", SqlDbType.VarChar,-1) ,            
                            new SqlParameter("@CusRe", SqlDbType.VarChar,-1) ,            
                            new SqlParameter("@UserCode", SqlDbType.VarChar,50) ,            
                            new SqlParameter("@ActionTime", SqlDbType.VarChar,50) ,            
                            new SqlParameter("@UserName", SqlDbType.VarChar,50)             
                  
                };            parameters[0].Value = model.customerName;
                parameters[1].Value = model.customerNo;
                parameters[2].Value = model.customerType;
                parameters[3].Value = model.CusName;
                parameters[4].Value = model.CusSex;
                parameters[5].Value = model.CusJob;
                parameters[6].Value = model.CusAge;
                parameters[7].Value = model.CusPhone;
                parameters[8].Value = model.CusFax;
                parameters[9].Value = model.CusEmail;
                parameters[10].Value = model.CusDepart;
                parameters[11].Value = model.CusMarkDay;
                parameters[12].Value = model.CusTel;
                parameters[13].Value = model.CusHobby;
                parameters[14].Value = model.CusRe;
                parameters[15].Value = model.UserCode;
                parameters[16].Value = model.ActionTime;
                parameters[17].Value = model.UserName;            return new SqlDbHelper().ExecuteNonQuery(strSql.ToString().Trim(), CommandType.Text, parameters) > 0;
            }
      

  3.   

            public string UserCode = "";
            public string UserName = "";
                customer.ActionTime = DateTime.Now.ToString("yyyyMMddhhmm");
                customer.UserName = UserName;
                customer.UserCode = UserCode;
    我这样操作正确吗?我感觉就是这里错误了~
      

  4.   

    如果你确定这个没有错误的话,有只剩一种可能,参数中有null           customer.UserName = "abc";
                customer.UserCode = "123";这样试试
      

  5.   

    还是爆 相同的错误,应该是参数中有null,但是就是不知道啊,。。本来就是新手,这个问题一直解决不了,直接了
      

  6.   

    我也认为是将null赋值过去了,在执行SQL前设置断点,查查
      

  7.   

    提示已经说了@UserCode传过去的值是NULL. 如果你确定是要传空值,ado.net规定是DBNull.Value来代替NULL.PS:真的服了LZ的码农精神,连 parameters[0123456]这样的下标都是一丝不苟.如果中间删个或加个,你岂不是把这下标又重排一次?
    SqlParameter()这个构造函数有很多重载,选择对自己最方便那个。