int j = Convert.ToInt16(cmd.ExecuteNonQuery()); 这句哪里错了

SqlConnection con = new SqlConnection(@"Data Source=WIN-GQFEFKCEUM4;Initial Catalog=manage;Integrated Security=True");

    public int OperateData(string sql)
    {
        con.Open();          //打开数据库连接
        SqlCommand cmd = new SqlCommand(sql, con);       //创建sqlcommand对象
        int j = Convert.ToInt16(cmd.ExecuteNonQuery());  //调用ExecuteNonQuery()方法
        con.Close();         //关闭数据库连接
        return j;            //返回影响的行数
    }
            里边int j = Convert.ToInt16(cmd.ExecuteNonQuery());  //调用ExecuteNonQuery()方法出现了System.Data.SqlClient.SqlException:“列名或所提供值的数目与表定义不匹配。”错误该怎么jie'j

可以检查下sql语句里的列和数据库表里的列名称是否一致。