方法:
 public int SeveUser(YHuser yhus)
        {
            string sql = "insert sys_user values(@Usr_name,@Usr_passwords,@Usr_role_id,@Usr_flag)";
            Dictionary<string,object> psa=new Dictionary<string,object>();            psa.Add("@Usr_name", yhus.Usr_name);
            psa.Add("@Usr_passwords", yhus.Usr_passwords);
            psa.Add("@Usr_role_id", 2);
            psa.Add("@Usr_flag", yhus.Usr_flag);
            return SQLHelper.ExecSql(sql,psa);
        }
数据库连接:
 public static int ExecSql(string sql, Dictionary<string, object> paras)
        {
            try
            {                using (SqlConnection sqlcon = new SqlConnection(connectionString))
                {
                    SqlCommand sqlcmd = sqlcon.CreateCommand();                    sqlcmd.CommandText = sql;
                    if (paras != null && paras.Count > 0)
                    {
                        foreach (string key in paras.Keys)
                        {
                            SqlParameter sqlpar = new SqlParameter(key, paras[key]);
                            sqlcmd.Parameters.Add(sqlpar);
                        }
                    }
                    sqlcon.Open();
                    return sqlcmd.ExecuteNonQuery();
                }
            }
            catch (Exception)
            {                throw;
            }        }
提示的是:
参数化查询 '(@Usr_name nvarchar(4000),@Usr_passwords nvarchar(4000),@Usr_rol' 需要参数 '@Usr_name',但未提供该参数。 
 
我该如何去解决下!!!~~~